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

Posted

技术标签:

【中文标题】如何检查表中是不是存在值?【英文标题】:How to check value exists in table or not?如何检查表中是否存在值? 【发布时间】:2015-12-20 14:55:41 【问题描述】:

我有一个这样的查询:

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 表中。

【问题讨论】:

不太清楚您试图过滤的内容...如果 t.title 存在,t.title = 'anything' 或 'anything' 是您查询中的一些参数?你能用一个简短的段落解释一下吗? 是的,您应该发布更多详细信息。你想达到什么目的? 【参考方案1】:

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

如果要完成一个条件语句,如果有数据就插入'anything',那么试试(if t.title is not null, 'anything', null)

【讨论】:

【参考方案2】:

你试过了吗

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

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

最好的方法是将 post_id 设置为外键,这样,如果 id 不存在,插入查询将不起作用

【讨论】:

以上是关于如何检查表中是不是存在值?的主要内容,如果未能解决你的问题,请参考以下文章

如何检查一个值是不是已经存在以避免重复?

如何编写一个触发器来检查一个值是不是已经在表中?

在添加Flask,SQLAlchemy之前检查表中的行中的值是不是已经存在

SQL 连接两个表并检查两个表中的每个值是不是存在

如何检查Mysql表中是不是存在记录[重复]

Sql Server 2008如何检查表中是不是存在列? [复制]