开发者社区> 问答> 正文

MySQL“ IF EXISTS”的用法

这是我要使用的两条语句,但是它们返回错误消息:

IF EXISTS (SELECT * FROM gdata_calendars WHERE group = ? AND id = ?) SELECT 1 ELSE SELECT 0 和

IF ((SELECT COUNT(*) FROM gdata_calendars WHERE group = ? AND id = ?) > 0) SELECT 1 ELSE SELECT 0; 之所以会有问号,是因为我在PHP的PDO中使用了参数化的,准备好的语句。但是,我也尝试过手动使用数据执行此操作,但这确实不起作用。

虽然我想知道为什么每个都不起作用,但如果可以使第一个查询起作用,我希望使用第一个查询。

展开
收起
保持可爱mmm 2020-05-10 20:46:14 581 0
1 条回答
写回答
取消 提交回答
  • 您不能使用功能的IF控制块OUTSIDE。这样会影响您的两个查询。

    将EXISTS子句改为IF函数中的子查询

    SELECT IF( EXISTS( SELECT * FROM gdata_calendars WHERE group = ? AND id = ?), 1, 0) 实际上,布尔值返回为1或0

    SELECT EXISTS( SELECT * FROM gdata_calendars WHERE group = ? AND id = ?)来源:stack overflow

    2020-05-10 20:46:25
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
One Box: 解读事务与分析一体化数据库 HybridDB for MySQL 立即下载
One Box:解读事务与分析一体化数据库HybridDB for MySQL 立即下载
如何支撑HTAP场景-HybridDB for MySQL系统架构和技术演进 立即下载

相关镜像