MyISAM ストレージ エンジンを使用する MySQL データベースを使用しています。複数テーブルの削除構文を使用します。これまでのところ、一度に複数の子テーブルから削除する必要がある場合にのみ使用しました。しかし、1 つのクエリで複数の子テーブルと親テーブルから削除するために使用することを検討していました。
最近、SO やその他のフォーラムで、一度に複数のテーブルから削除するのは良くないという投稿をいくつか見かけました。しかし、推奨されない理由を説明しているポスターはありません。
テーブルが処理される順序を制御できないため、外部キー制約を持つ InnoDB テーブルを含む複数テーブルの削除に問題がある可能性があることを理解しています。明らかに、それは私の場合は問題ではありません。
複数のテーブルを削除すると、すべてのテーブルから削除されるか、まったく削除されないと考えていました。しかし、それが本当かどうかの情報は見つかりません。部分的に成功すると、データが破損します。
複数の MyISAM テーブルから一度に削除するのは悪い考えですか? それは常に悪い考えですか、それとも親子関係がある場合のみですか? 理由を説明してください。
記録として、InnoDB への変更は、現時点ではこのプロジェクトのオプションではありません。