「fname」、「lname」、「email」、「password」、「ip」を含む既存のテーブルがあります。しかし、今は自動インクリメント列が必要です。ただし、次のように入力すると:
ALTER TABLE users
ADD id int NOT NULL AUTO_INCREMENT
私は次を取得します:
#1075 - Incorrect table definition; there can be only one auto column and it must be defined as a key
何かアドバイス?:)
これを試して
ALTER TABLE `users` ADD `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY
自動IDがPRIMARY KEY
として使用されているかどうか気にしない場合は、次のようにします。
ALTER TABLE `myTable` ADD COLUMN `id` INT AUTO_INCREMENT UNIQUE FIRST;
私はちょうどこれをやったとそれは御treat走を働いた。
既存のテーブルにAUTO_INCREMENTを追加する場合は、次のSQLコマンドを実行する必要があります。
ALTER TABLE users ADD id int NOT NULL AUTO_INCREMENT primary key
まず、テーブルの主キーを削除する必要があります
ALTER TABLE nametable DROP PRIMARY KEY
そして今、あなたは自動インクリメントを追加することができます...
ALTER TABLE nametable ADD id INT NOT NULL AUTO_INCREMENT PRIMARY KEY
次のように、最初にauto_increment
とprimary key
をドロップしてから、自分のものを追加する必要があります。
-- drop auto_increment capability
alter table `users` modify column id INT NOT NULL;
-- in one line, drop primary key and rebuild one
alter table `users` drop primary key, add primary key(id);
-- re add the auto_increment capability, last value is remembered
alter table `users` modify column id INT NOT NULL AUTO_INCREMENT;
テーブルの主キーが存在する場合は削除します。
ALTER TABLE `tableName` DROP PRIMARY KEY;
テーブルに自動インクリメント列を追加する:
ALTER TABLE `tableName` ADD `Column_name` INT PRIMARY KEY AUTO_INCREMENT;
主キーと見なす列を変更します。
alter table `tableName` modify column `Column_name` INT NOT NULL AUTO_INCREMENT PRIMARY KEY;
ADDをMODIFYに変更するだけで機能します!
交換
ALTER TABLE users ADD id int NOT NULL AUTO_INCREMENT
に
ALTER TABLE users MODIFY id int NOT NULL AUTO_INCREMENT;
ALTER TABLE users CHANGE id int( 30 ) NOT NULL AUTO_INCREMENT
整数パラメータはデフォルトのSQL設定に基づいており、天気の良い日があります
次のコマンドを実行する場合:
ALTER TABLE users ADD id int NOT NULL AUTO_INCREMENT PRIMARY KEY;
これはあなたにエラーを表示します:
ERROR 1060 (42S21): Duplicate column name 'id'
これは、このコマンドがid
という名前の新しい列を既存のテーブルに追加しようとするためです。
既存の列を変更するには、次のコマンドを使用する必要があります。
ALTER TABLE users MODIFY id int NOT NULL AUTO_INCREMENT PRIMARY KEY;
これは、既存の列制約を変更する場合に機能するはずです。..!
ALTER TABLE users ADD id int NOT NULL AUTO_INCREMENT primary key FIRST
異なる列を持つ既存の主キーを確認します。はいの場合、次を使用して主キーを削除します。
ALTER TABLE Table1
DROP CONSTRAINT PK_Table1_Col1
GO
クエリをそのまま記述します。
ALTER TABLE `table` ADD `id` INT NOT NULL AUTO_INCREMENT unique
これを試して。主キーを削除する必要はありません。