MySQLテーブルの既存の列にauto_increment
を追加するにはどうすればよいですか?
ALTER TABLE
コマンド で説明したように、列をMODIFY
したいと思います。次のようなものかもしれません:
ALTER TABLE users MODIFY id INTEGER NOT NULL AUTO_INCREMENT;
上記を実行する前に、id
列にプライマリインデックスがあることを確認してください。
AUTO_INCREMENTをテーブルに追加する方法dataで、「重複エントリを回避する」エラー:
INSERT SELECTを使用して、テーブルのコピーを作成しますwith:
CREATE TABLE backupTable LIKE originalTable;
INSERT backupTable SELECT * FROM originalTable;
OriginalTableからデータを削除します(重複エントリを削除するため):
TRUNCATE TABLE originalTable;
AUTO_INCREMENTandPRIMARY KEYを追加するには
ALTER TABLE originalTable ADD id INT PRIMARY KEY AUTO_INCREMENT;
データをoriginalTableにコピーします(donotには、自動的に入力されるため、新しく作成された列(id)が含まれます)
INSERT originalTable (col1, col2, col3)
SELECT col1, col2,col3
FROM backupTable;
BackupTableを削除します:
DROP TABLE backupTable;
これが役立つことを願っています!
CREATE LIKEを使用したテーブルの複製の詳細:
Alter table table_name modify column_name datatype(length) AUTO_INCREMENT PRIMARY KEY
主キーを自動インクリメントに追加する必要があります。そうしないと、mysqlでエラーが発生します。
単にauto_increment Constraint In列またはMODIFY COLUMNを追加するだけです-
ALTER TABLE `emp` MODIFY COLUMN `id` INT NOT NULL UNIQUE AUTO_INCREMENT FIRST;
または、最初に列を追加してから、列を次のように変更します-
1. Alter TABLE `emp` ADD COLUMN `id`;
2. ALTER TABLE `emp` CHANGE COLUMN `id` `Emp_id` INT NOT NULL UNIQUE AUTO_INCREMENT FIRST;
これは、空ではないテーブルのAUTO_INCREMENT属性を変更する場合に役立ちました。
1。)テーブル全体を.sqlファイルとしてエクスポート
2。)エクスポート後にテーブルを削除しました
2.)CREATE_TABLEコマンドの変更が必要でした
3。)。sqlファイルからCREATE_TABLEおよびINSERT_INTOコマンドを実行しました
... etヴィオラ
Alter table table_name modify table_name.column_name data_type AUTO_INCREMENT;
例えば:
Alter table avion modify avion.av int AUTO_INCREMENT;
私は次のコードでこれを行うことができました:
ALTER TABLE `table_name`
CHANGE COLUMN `colum_name` `colum_name` INT(11) NOT NULL AUTO_INCREMENT FIRST;
これは、列を自動的にインクリメントできる唯一の方法です。
INT(11)は、intの最大長が11であることを示しています。必要に応じてスキップできます。