下面是我想要處理的兩條語句,但它們返回錯誤消息: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
提交
取消