Unknown on duplicate key update error This is my current statement: 

INSERT INTO groups (groupName, alias, isDefault, inheritance, permissions)
VALUES ('Admin', 'admin', '0', 'Player', 'test.test') ON DUPLICATE KEY 
UPDATE alias = VALUES(alias), isDefault = VALUES(isDefault), 
       inheritance = VALUES(inheritance), permissions = VALUES(permissions);


When I execute this, I get a single row that is expected. But when I execute this again, it creates another row. Why does it do that?

Between, I have another column called id, and it is auto-incremented.

EDIT: Results of show create groups: 

CREATE TABLE 'groups' (
 'id' int(16) NOT NULL AUTO_INCREMENT,
 'groupName' varchar(64) NOT NULL,
 'alias' varchar(32) NOT NULL DEFAULT '',
 'isDefault' tinyint(1) NOT NULL DEFAULT '0',
 'inheritance' text NOT NULL,
 'permissions' text NOT NULL,
 PRIMARY KEY ('id')
) ENGINE=InnoDB AUTO_INCREMENT=14 DEFAULT CHARSET=latin1
ON DUPLICATE KEY only works when constraint violation. In this cases no constraint will be violated because the primary key is auto incremented column, so you have to add one unique key constraint in your table.