php – Mysql – 检查行是否存在

我只想在另一个表中存在父级时插入一行.

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)
上一篇:mysql – 查询从SQL中删除重复项


下一篇:java – 正确删除列表中的重复项