私のクライアントは最近、自分のマシンをフォーマットし、MySQLサーバーと私のアプリケーションを再インストールしました。彼は、マスターテーブルからレコードを削除しても子テーブルには影響しないと不満を漏らしました。私は彼にデータベースのバックアップを送るように頼んだ。データベースを復元したところ、テーブルエンジンがMyISAMに変更されたのに対し、InnoDBに設定されていたことがわかりました。
プライマリテーブルに存在しないレコードを子テーブルから削除しました。この後、外部キーインデックスを再設定していないと、「外部キー制約に失敗しました。エラー1005」というエラーが表示され、場合によっては150というエラーが表示されます。
プライマリテーブルまたは子テーブルのいずれかに残っている可能性のある行を再確認しましたが、何も機能していないようです。
主テーブルには、主キーを組み合わせて形成する2つの列があります。列は次のとおりです。BillNo、BillDate。
手伝ってください。