如果存在接收错误

时间:2014-08-03 05:50:24

标签: mysql sql

我正在尝试运行以下SQL cmd但收到错误1064(42000):

IF EXISTS(select 1 from namelist WHERE user='smitht' AND name='Tom Smith') BEGIN PRINT 'yes' END;

我已经自己测试了select语句并且它有效,所以我不确定为什么我收到这个错误。

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

这不是你在MYSQL中使用IF EXISTS的方式。你可以试试这个:

SELECT IF( EXISTS(
             SELECT *
             from namelist WHERE user='smitht' AND name='Tom Smith'))

答案 1 :(得分:0)

根据该文档,您不能使用IF这样的声明,但您可以使用IF函数:

SELECT IF (EXISTS(
          select 1 from namelist WHERE user='smitht' AND name='Tom Smith'), 'yes', '')