在我的Java程序中,我正在使用Mysql數據庫。在使用Java實現每個查詢之前,我使用SQLDeveloper對其進行測試,以確保它能正常工作。MYSQL更新表不能與Java實現一起使用
在的SQLDeveloper下面的查詢工作完美:
UPDATE keyword t JOIN banned b ON t.excerpt LIKE CONCAT_WS('', '%', b.word, '%')
SET t.filter = 'BANNED'
WHERE t.filter IS NULL
(它只是標記爲禁止,在標題的列表,包含一個禁忌詞彙(如褻瀆)的目標
現在時。我用Java實現此查詢,代碼運行完美(沒有錯誤,沒有例外),但因爲它使用的SQLDeveloper不更新實際上DB以下是代碼:
String query = "UPDATE keyword t JOIN banned b ON t.excerpt LIKE CONCAT_WS('', '%', b.word, '%') SET t.filter = 'BANNED' WHERE t.filter IS NULL;";
PreparedStatement preparedStatement = connect.prepareStatement(query);
preparedStatement.executeUpdate();
preparedStatement.close();
我創建了類似這個的其他查詢,他們的工作。我錯過了什麼嗎?
你確定它不'噸的工作嗎?也許所有的領域都已經更新 – Mihai 2014-09-29 09:14:05
100%肯定,我用的DB SELECT查詢來檢查它是否是你提交的SQL語句是否更新 – 2014-09-29 09:17:11
@MarcoMicheli在查詢結束時不需要使用';'。檢查你的服務器日誌。如果它失敗,必須有一個異常 – 2014-09-29 09:35:16