table1
このクエリを使用して、外部キーを自分に追加しようとしています。
ALTER TABLE `db`.`table1`
ADD CONSTRAINT `fk_table1_2`
FOREIGN KEY (`field1` )
REFERENCES `db`.`table2` (`id` )
ON DELETE NO ACTION
ON UPDATE NO ACTION;
table1.field1
を参照する必要があります。table2.id
どちらもINT(11)
です。
このエラーで失敗します:
ERROR 1452 (23000): Cannot add or update a child row: a foreign key constraint fails (`db`.<result 2 when explaining filename '#sql-3f9_4c'>, CONSTRAINT `fk_table1_2` FOREIGN KEY (`field1`) REFERENCES `table2` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION)
Workbenchで試してみると、前のエラーと、テーブルを「再作成」しようとしているようにクエリERROR 1050: Table 'table1' already exists
を表示するという別のエラーが発生します。CREATE TABLE
どうしたの?