Quelqu'un peut-il me dire ce qui ne va pas avec cette définition de table.
la version de mysql est 5.1.52-log
root@localhost spoolrdb> create table spoolqueue (
queue int,
idx bigint not null auto_increment,
status smallint,
querystring varchar(2048),
contenttype varchar(255),
characterencoding varchar(16),
body text,
primary key(queue,idx)
);
ERROR 1075 (42000): Incorrect table definition; there can be only one auto column and it must be defined as a key
Réponses:
Cela fonctionnera apparemment avec MyISAM en tant que moteur de stockage, pas InnoDB, si vous pouvez vivre avec cela.
Une autre façon de le faire fonctionner est de permuter les emplacements de
queue
etidx
dans la déclaration de clé primaire.la source
Vous pouvez également donner
idx
sa propre clé si vous préférez avoir d'queue
abord dans le PK. Notez l'ajout de laindex(idx)
ligne:la source
Essayez de supprimer le champ de file d'attente de la clé primaire. Vous pouvez indexer la colonne de file d'attente si vous le souhaitez
la source