質問
誰かがこのテーブルの定義の何が悪いのか教えてください。
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ではなく、Storage EngineとしてMyisamで動作するようです。
それを動作させる別の方法は、あなたが場所を交換する場合です queue
と idx
主要な宣言で。
他のヒント
あなたも与えることができます idx
あなたが持っていることを望むなら、それは独自の鍵です queue
最初にPKで。の追加に注意してください 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)
);
プライマリキーからキューフィールドを削除してみてください。必要に応じて、キュー列にインデックスできます
所属していません dba.stackexchange