Alguém pode me dizer o que há de errado com esta definição de tabela.
a versão do mysql é 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
Aparentemente, isso funcionará com o MyISAM como mecanismo de armazenamento, não com o InnoDB, se você puder conviver com isso.
Outra maneira de fazê-lo funcionar é se você trocar de lugar
queue
eidx
na declaração de chave primária.Você também pode dar
idx
sua própria chave se preferir terqueue
primeiro no PK. Observe a adição daindex(idx)
linha:Tente remover o campo da fila da chave primária. Você pode indexar a coluna da fila se quiser