我的Java項目我需要檢查一個表是否存在一行。 如果存在,我需要更新;如果不是,我需要創建它。 SQL語法要做到這一點應該是:語法在IF EXISTS語句中的SQL錯誤
IF EXISTS(SELECT * FROM table1 WHERE column4='"+int4+"' AND column5='"+int5+"') "
+"BEGIN "
+ "UPDATE table1"
+ "SET column1='"+int1+"', column2='"+int2+"' "
+ "WHERE column4='"+int4+"' and column5='"+int5+"' "
+ "END "
+ "ELSE"
+ "INSERT INTO table1 (column1, column2, column4, column5, column3) "
+ "VALUES ('" + int1 + "',"
+ "'" + int2 + "',"
+ "'" + int4 + "',"
+ "'" + int5 + "',"
+ "'" + int3 +"');
其中int1, int2, int3, int4, int5
是整數值。 好吧,如果我把這個代碼,我有一個SQL語法錯誤在我的Java編譯器:
com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF EXISTS(SELECT * FROM table1 WHERE column4='1' AND column5='0') BEGIN UPDATE' at line 1
但我can'y看到錯誤
在控制檯中打印上面的行,然後在mysql中檢查它。您將會知道是否有任何錯誤 – SpringLearner
您可以在函數或過程中使用控制語句,如'if' ** only **。 –
謝謝。你會以哪種方式解決這個問題? – Bernheart