刪除行我有這樣的查詢:如果行存在,那麼在MySQL
IF EXISTS(SELECT 1 FROM table1 WHERE col1 = ? LIMIT 1) THEN
DELETE FROM table2 WHERE col2 = ?
END IF
但我不知道爲什麼上面的查詢不起作用。這也不起作用:
IF EXISTS(SELECT 1 FROM table1 WHERE col1 = ? LIMIT 1) BEGIN
DELETE FROM table2 WHERE col2 = ?
END
MySQL告訴我有一個語法錯誤,我該如何解決它?
MySQL(通常)不是過程式編程語言;你不能在過程之外使用'IF'語句。文檔確實說明了這一點。如果你真的要閱讀它,你也可以找到你的問題的答案。是否有某些原因導致您無法閱讀文檔? –
是的。所以你幾乎堅持在應用程序邏輯中做'IF'。 –
@LightnessRacesinOrbit其實我看到[這個答案](http://stackoverflow.com/questions/639854/check-if-a-row-exists-otherwise-insert#639874),並認爲也許有可能使用'IF'在mysql中!無論如何,好的謝謝。 – Shafizadeh