DBAtlas · データベース運用アトラス

1075: Incorrect table definition; there can be only one auto column and it must be defined as a key(不正なテーブル定義。自動採番列は 1 つのみでキーとして定義が必要)

MySQL

意味

AUTO_INCREMENT の規則に違反しているため、テーブル定義が無効。テーブルに持てる自動採番列は 1 つだけで、その列はキー (PRIMARY KEY または UNIQUE/インデックス) の一部でなければならない。

原因

複数の AUTO_INCREMENT 列を定義した、または AUTO_INCREMENT 列をどのキー (インデックス) にも含めなかった。CREATE TABLE または ALTER TABLE の実行時に発生する。

対処方法

AUTO_INCREMENT 列は 1 つに限定し、キーの一部にする: CREATE TABLE t (id INT AUTO_INCREMENT PRIMARY KEY, ...); 既存のテーブルを修正するには、先に列をキーに追加する: ALTER TABLE t ADD PRIMARY KEY (id); その後 AUTO_INCREMENT を定義する。複数の自動採番列が必要な場合は設計を見直す。MySQL はこれをサポートしない。

DBAtlas で開く →

同じデータベースの他の項目