• 締切済み

主キーレコードを削除する場合

userテーブルのu_idを主キーとしており、 他でもu_idを主キーとしてあるテーブルがあります。 delete from user where u_id = 2  で、u_id = 2 のレコードを削除させようとしたのですが、 Cannot delete or update a parent row: a foreign key constraint fails (`aaaaa`.`message`, CONSTRAINT `message_ibfk_2` FOREIGN KEY (`m_guid`) REFERENCES `user` (`u_id`) ON UPDATE CASCADE) のようなエラーがでます。 どのような意味でしょうか?また、これを改善するには設定、sql文はどのようにしたらよいでしょうか? ご回答お願いいたします。

みんなの回答

  • osamuy
  • ベストアンサー率42% (1231/2878)
回答No.1

外部キー制約にひっかかってます。 テーブルmessageに当該ユーザに紐付くデータが存在しているのに、ユーザを削除しようとして怒られてます。 削除手順を確認してみては。

参考URL:
http://www.atmarkit.co.jp/flinux/rensai/mysql5_08/mysql5_08c.html
すると、全ての回答が全文表示されます。