下面是我想要处理的两条语句,但它们返回错误消息: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参数化、准备好的语句。但是,我也尝试过手动执行这些数据,但它实际上不起作用。虽然我想知道为什么每个查询都不能工作,但我更愿意使用第一个查询(如果可以的话)。
3 回答
白衣染霜花
TA贡献1796条经验 获得超10个赞
SELECT IF( EXISTS( SELECT * FROM gdata_calendars WHERE `group` = ? AND id = ?), 1, 0)
SELECT EXISTS( SELECT * FROM gdata_calendars WHERE `group` = ? AND id = ?)
慕容708150
TA贡献1831条经验 获得超4个赞
IF EXISTS (SELECT 1 ..) THEN ...
IF EXISTS (SELECT 1 FROM Table WHERE FieldValue='')BEGIN SELECT TableID FROM Table WHERE FieldValue=''ENDELSEBEGIN INSERT INTO TABLE(FieldValue) VALUES('') SELECT SCOPE_IDENTITY() AS TableIDEND
IF (SELECT 1 = 1 FROM Table WHERE FieldValue='') THENBEGIN SELECT TableID FROM Table WHERE FieldValue='';END;ELSEBEGIN INSERT INTO Table (FieldValue) VALUES(''); SELECT LAST_INSERT_ID() AS TableID;END;END IF;
添加回答
举报
0/150
提交
取消