INNODBとForeign Keysを使用してすべてのテーブルが設定されたデータベースを構築しました。ここで、1 つのテーブルを変更し、別のテーブルを参照する新しい列を追加する必要があります。私のクエリは次のとおりです。
ALTER TABLE test ADD newcol INT NOT NULL;
ALTER TABLE test ADD CONSTRAINT fk_test
FOREIGN KEY (newcol)
REFERENCES othertable(id);
次のエラーが表示されます。
"#1452 - Cannot add or update a child row: a foreign key constraint fails."
他のすべてのテーブルにはデータが含まれていますが、test
テーブルを削除して外部キーで作成すると機能することがわかっています。テストテーブルをドロップすると、多くのレコードが削除されるため、データをコピーして再挿入することを避けたい.
外部キーを介して新しい列を追加する方法を教えてもらえますか?