我只想在另一个表中存在父级时插入一行.
thread1表
id | content |
1 | Hello World |
2 | Bye World |
thread2表
id | content |
1 | Naruto |
2 | DragonBallz|
评论表
id | thread_id| thread_type | content |
1 | 1 | thread1 | hellow |
2 | 1 | thread2 | bye-bye |
现在,如果我这样做
INSERT INTO comment(thread_id,thread_type,content)VALUES('3','thread2','Whatever');
它应该失败,因为thread2表中不存在3.
这可以通过检查线程表来实现.但没有它可能吗?没有做额外的查询?
更新
上表已更新. thread_type指的是表thread1&线程2
解决方法:
在两个表之间创建一个外键,使用thread(id)作为父项,使用comment(thread_id)作为子项,应该可以解决问题.
这是你应该运行的命令 –
ALTER TABLE comment
ADD FOREIGN KEY
(thread_id)
REFERENCES thread (id)