¿Puede alguien decirme qué hay de malo con esta definición de tabla?
la versión de mysql es 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
Respuestas:
Aparentemente, esto funcionará con MyISAM como motor de almacenamiento, no con InnoDB, si puede vivir con eso.
Otra forma de hacerlo funcionar es intercambiando lugares de
queue
yidx
en la declaración de clave primaria.fuente
También puede dar
idx
su propia clave si prefiere tenerqueue
primero en el PK. Tenga en cuenta la adición de laindex(idx)
línea:fuente
Intente eliminar el campo de cola de la clave primaria. Puede indexar la columna de la cola si lo desea
fuente