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
Respostas:
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 locais de
queue
eidx
na declaração da chave primária.fonte
Você também pode fornecer
idx
sua própria chave se preferir ter oqueue
primeiro no PK. Observe a adição daindex(idx)
linha:fonte
Tente remover o campo da fila da chave primária. Você pode indexar a coluna da fila se desejar
fonte