评论表
Servo()
回复表
+------+----------+
| id | comment |
+------+----------+
| 1 | foo |
| 2 | bar |
| 3 | foobar |
+------+----------+
like_reply table
+------+----------+------------+
| id | reply |comment_id |
+------+----------+------------+
| 1 | nice lol | 1 |
| 2 | ok ok | 2 |
| 3 | hello | 1 |
| 4 | hello2 | 1 |
| 5 | hello1 | 1 |
+------+----------+------------+
此查询必须删除id为1的注释,并使用comment_id one
删除所有回复但我如何加入like_reply表并删除所有喜欢的回复
与回复表有关系的like_replay和回复表与回复表有关联的回复表
答案 0 :(得分:2)
试试这个:
DELETE c, r, lr
FROM `comment` AS c
LEFT JOIN `reply` AS r ON c.id = r.comment_id
LEFT JOIN like_reply AS lr ON r.id = lr.reply_id
WHERE c.id = 1;
上述查询删除了来自id=1
表的comment
条记录的评论以及reply
和like_reply
表格中的相关记录。
但是,如果总是希望将comment
记录删除到级联到其他表,那么您应该考虑将foreign key constraints放在{带有reply
子条款的{1}}和like_reply
个表..
答案 1 :(得分:0)
您无法删除..
中的特定列DELETE FROM `comment` LEFT JOIN `reply`
ON `comment`.`id` = `reply`.`comment_id` WHERE `comment`.`id` = '1'
如果你想"删除"只有行中的一些fiedl你应该使用update