誰かがこのテーブル定義の何が問題になっているのか教えてください。
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
これは、もしあなたがそれに耐えられるなら、InnoDBではなく、ストレージエンジンとしてMyISAMで動作するようです。
これを機能させる別の方法は、主キー宣言でqueue
とidx
の場所を入れ替えることです。
PKの最初にidx
を付ける場合は、queue
に独自のキーを指定することもできます。 index(idx)
行が追加されていることに注意してください。
create temporary 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),
index(idx)
);