0

何らかの理由で、uidをauto_incrementとして設定しようとすると、次のエラーが発生し続けます。phpMyAdminを使用しています。

Error

SQL query:

ALTER TABLE `ITEMS` ADD `uid` INT( 2 ) NOT NULL AUTO_INCREMENT FIRST ,
ADD `name` VARCHAR( 100 ) NOT NULL AFTER `uid` ,
ADD `status` VARCHAR( 100 ) NOT NULL AFTER `name`

MySQL said: Documentation
#1075 - Incorrect table definition; there can be only one auto column and it must be defined as a key 

データベースには、元々auto_incrementとしてインデックスが設定されていた他のテーブルがいくつかありましたが、それらすべての列をuidvarcharに変更しました。しかし今、私はITEMSという名前のテーブルを追加しており、uidを、他のすべてのテーブルへの参照ポイントとして使用できる「マスター」キーにしたいのです。

4

2 に答える 2

1

新しい列にPRIMARYKEY制約を追加する必要があります。ところで、これは、元々AUTO_INCREMENTであった古い列からその制約を削除することを意味する場合があります。

于 2011-01-13T01:22:50.927 に答える
1

テーブルを追加するのではなく、テーブルを変更します。新しい仕様はスキーマに存在するものと競合します。showtableを実行して、ここに投稿して確認できます。

于 2011-01-13T01:23:06.537 に答える