【发布时间】:2018-08-16 07:40:53
【问题描述】:
我想使用 mysql 来检查 MySQL 数据库中是否存在某个值。如果该值存在,我什么也不想做(我不想获取任何数据)。如果它不存在,那么我想设置一些where 条件。
所以这就是我目前所拥有的,但它不正确。因为我仍然获取数据,如果没有设置where condition
SELECT *,
CASE
WHEN ( table_name.record = 'inputrecord')
THEN
//Do nothing because it is found already
ELSE
// since inputrecord does not exist, we will start looking for 'id'
( WHERE table_name.id = '123')
END
FROM table_name
注意:在上面的例子中,我写了WHEN ( table_name.record = 'inputrecord') 而不是 WHEN ( table_name.record != 'inputrecord')。这是因为我只想在数据不在表中时才继续查询。
也许将IF function 与EXISTS function 一起使用会更好,但我不知道该怎么做。
任何帮助都会很棒。现在我收到错误
【问题讨论】:
-
你愿意示范一下吗?
-
如果您在 WHEN (table_name.record = 'inputrecord') 时什么都不做,那么为什么不尝试像“select * from table_name where table_name.record != 'inputrecord' and table_name .id = '123'"
-
@Dr M 能否请您重新阅读该问题。我在笔记中提到了为什么我不能这样做..