次のデータベースがあります。以下に示すクエリを実行しようとすると、Cannot add or update a child row
というエラーが表示されます。なぜこのエラーが出るのか分かりません。エラー1452(23000):子行を追加または更新できません。
入力中のobject_id
(327)がデータベースに存在します。私も他のobject_id
でこれを試してみました。同じエラーが表示されます。ここで何が起きてるの?ここで
like_objects
+-------------+---------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------------+---------+------+-----+---------+----------------+
| object_id | int(11) | NO | MUL | NULL | |
| id | int(11) | NO | PRI | NULL | auto_increment |
| user_id | int(11) | NO | MUL | NULL | |
+-------------+---------+------+-----+---------+----------------+
objects
+--------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+--------------+--------------+------+-----+---------+----------------+
| object_name | longtext | NO | | NULL | |
| object_desc | longtext | NO | | NULL | |
| id | int(11) | NO | PRI | NULL | auto_increment |
| likes | int(11) | NO | | NULL | |
+--------------+--------------+------+-----+---------+----------------+
は、クエリと、それが生成するエラーです:私は別のテーブルに対して同様のlike
ロジックを使用していると、それは絶対に正常に動作しているので
insert into like_objects (object_id,user_id) values (327,1)
ERROR 1452 (23000): Cannot add or update a child row: a foreign key constraint fails
(`test_db`.`like_objects`, CONSTRAINT `object_id_refs_id_57f96810` FOREIGN KEY (`object_id`)
REFERENCES `objects` (`id`))
は、これは非常に奇妙です。
重要私はmysqldump
からobjects
テーブルを取得しました。最初にobjects
テーブルがPhpMyAdminから作成され、like_objectsテーブルがdjango models
正当性チェックの結果を追加してください(つまり、id = 327のオブジェクトから選択してください)。投稿に追加してください。 –
また、両方のテーブルに 'create table'ステートメントを追加すると役立ちます。 –
@MattFenwick:object_descは長いテキストなので、このクエリの結果は非常に長くなります。私はすべてをコピーすることはできませんが、期待どおりに正しいタプルを取得しています。 'id'はテーブルに存在します。 – Sachin