是否可以檢查表中的num行是否爲0,然後執行插入操作,全部在一個sql語句中?在IF語句中的一個表中計算行
這裏是我的查詢,我試過,但它說我有一個語法錯誤:
$query =
"IF (SELECT COUNT(ID) FROM votes WHERE userid = $userid AND itemid = $itemid AND itemtype=1) = 0
INSERT INTO votes (itemtype, itemid, userid) VALUES (1, $itemid, $userid)
SELECT 1 AS result
ELSE
SELECT 0 AS result
END IF";
我知道SELECT COUNT位成功的作品自身。
類似的問題在這裏:http://stackoverflow.com/questions/1898472/mysql-if-statement-question – 2012-03-16 15:29:33
我不知道支持該特定語法的SQL數據庫中,所有SQL一邊。在PHP中設置一個變量作爲查詢結果,並在PHP代碼中進行if/else檢查,然後在必要時進行適當的輔助調用。另一種選擇是在查詢中使用case語句來確定插入值。 – ahillman3 2012-03-16 15:33:04
@JeffHines我不認爲這有幫助,因爲我需要在if語句中執行INSERT – Timm 2012-03-16 15:33:05