如何检查表中是否存在值?

时间:2015-12-20 14:55:41

标签: mysql exists

我有这样的查询:

INSERT INTO votes (post_id, user_id, value, date_time)
    SELECT ?,?,?,?,?,?
    FROM $table_name t
    WHERE {if t.id exists $id} limit 1

如何在MySQL中编写此{if t.title exists 'anythin'}

编辑:实际上我想在插入该帖子的投票之前检查post表中是否存在Posts

2 个答案:

答案 0 :(得分:2)

如果您的目标是选择“何处”数据,请尝试WHERE t.title IS NOT NULL

如果要完成条件语句,如果有任何数据,则插入“任何”,然后尝试(if t.title is not null, 'anything', null)

答案 1 :(得分:1)

你试过吗

WHERE EXISTS (SELECT * FROM $Posts_table_name WHERE Id = 'YourPostId');

编辑: 您写道:“实际上,我希望在插入该帖子的投票之前检查帖子是否存在于帖子表中。

最好的方法是将post_id设置为外键,这样,如果id不存在,插入查询就不会有效果