こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

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

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文はどのようにしたらよいでしょうか?

ご回答お願いいたします。

投稿日時 - 2010-01-17 12:08:30

QNo.5599549

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(1)

ANo.1

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

参考URL:http://www.atmarkit.co.jp/flinux/rensai/mysql5_08/mysql5_08c.html

投稿日時 - 2010-01-17 12:43:11