質問

誰かがこのテーブルの定義の何が悪いのか教えてください。
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で動作するようです。

それを動作させる別の方法は、あなたが場所を交換する場合です queueidx 主要な宣言で。

他のヒント

あなたも与えることができます 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)
);

プライマリキーからキューフィールドを削除してみてください。必要に応じて、キュー列にインデックスできます

ライセンス: CC-BY-SA帰属
所属していません dba.stackexchange
scroll top