既存のデータベースを MyISAM から InnoDB に変換し、さまざまな外部キーを実装していますが、データベースで変換スクリプトを実行すると問題が発生します:-
以下のようにすべてのクエリを実行しています
DELETE FROM example WHERE user NOT IN (select id FROM users);
ALTER TABLE `example` CHANGE `user` `user` INT( 11 ) UNSIGNED NOT NULL ;
ALTER TABLE example ADD FOREIGN KEY (user) REFERENCES users(ID);
ALTER TABLE example ADD FOREIGN KEY (car) REFERENCES cars(ID);
すべてのクエリを実行すると、DELETE ステートメントが実行されていないという事実のために、外部キー制約が原因で失敗します-個別に実行しても問題ありません-innodb データベースでのコミットの問題ですか、それとも次のクエリの前に削除が完了しない速度は?
IDの外部キーを2つ持っていても大丈夫ですか?(users.id と cars.id の 2 つの異なるテーブル)。
ありがとう!