Bonjour,
Prenons une table toute simple "test" :
+---------+---------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+---------+---------------+------+-----+---------+----------------+
| id | int(10) | | PRI | NULL | auto_increment |
| texte | varchar(255) | YES | | NULL | |
+---------+---------------+------+-----+---------+----------------+ |
Mettons que je souhaite modifier mon champ en un tinyint, je lance donc la commande :
ALTER TABLE test MODIFY COLUMN id tinyint(3) unsigned NOT NULL default NULL auto_increment PRIMARY KEY; |
et là j'obtiens la magnifique erreur :
ERROR 1068: Multiple primary key defined |
Evidemment si j'enlève le PRIMARY KEY, il ne se met pas à brailler... Le pb c'est que c'est un programme automatique qui lance les ALTER TABLE donc ça m'arrangerai de garder le PRIMARY KEY.
Ceci a été testé sur un MySQL 4.0.2 ainsi que 3.23.51. C'est donc une limite du ALTER ? c moi qui m'y prend mal ? c'est MySQL qui fait n'importe quoi, etc... ? Je sais qu'il y a certains utilisateurs émérites de MySQL ici (joce...) donc si je pouvais avoir une réponse ! Merci !