Czy ktoś może mi powiedzieć, co jest nie tak z tą definicją tabeli.
Wersja mysql to 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
Odpowiedzi:
Najwyraźniej będzie to działać z MyISAM jako silnikiem pamięci, a nie InnoDB, jeśli możesz z tym żyć.
Innym sposobem, aby zmusić go do pracy jest, jeśli zamienić miejscami
queue
iidx
w pierwotnej deklaracji klucza.źródło
Możesz również dać
idx
swój własny klucz, jeśli wolisz miećqueue
pierwszy w PK. Zwróć uwagę na dodanieindex(idx)
wiersza:źródło
Spróbuj usunąć pole kolejki z klucza podstawowego. Jeśli chcesz, możesz zindeksować kolumnę kolejki
źródło