1075: Incorrect table definition; there can be only one auto column and it must be defined as a key (définition de table incorrecte : une seule colonne auto, qui doit être définie comme clé)
MySQLQue signifie cette erreur ?
La définition de la table est invalide car les règles d'AUTO_INCREMENT ont été enfreintes : une table ne peut avoir qu'une seule colonne auto-incrémentée, et cette colonne doit faire partie d'une clé (PRIMARY KEY ou UNIQUE/index).
Cause
Définition de plus d'une colonne AUTO_INCREMENT, ou colonne AUTO_INCREMENT laissée hors de toute clé (index). Se produit lors d'un CREATE TABLE ou d'un ALTER TABLE.
Comment la corriger
Conservez une seule colonne AUTO_INCREMENT et intégrez-la à une clé : CREATE TABLE t (id INT AUTO_INCREMENT PRIMARY KEY, ...); Pour corriger une table existante, ajoutez d'abord la colonne à une clé : ALTER TABLE t ADD PRIMARY KEY (id); puis définissez AUTO_INCREMENT. Si vous avez besoin de plusieurs colonnes auto, revoyez la conception ; MySQL ne le prend pas en charge.
Autres entrées pour ce moteur
- 1615Prepared statement needs to be re-prepared (l'instruction préparée doit être préparée à nouveau)
- 1553Cannot drop index needed in a foreign key constraint (impossible de supprimer un index requis par une contrainte de clé étrangère)
- 3948Loading local data is disabled; this must be enabled on both the client and server sides (le chargement de données locales est désactivé ; il doit être activé côté client et côté serveur)
- 1055Expression not in GROUP BY (only_full_group_by) (expression absente du GROUP BY)
- 1267Illegal mix of collations
- 1030Got error N from storage engine
- 1197Multi-statement transaction required more than 'max_binlog_cache_size' (la transaction multi-instructions a nécessité plus que 'max_binlog_cache_size')