我有这样的查询:
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
。
答案 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不存在,插入查询就不会有效果