我有一個程序,將更新每一分鐘。每次更新時,都會添加時間,日期,需求,或者根據相同的時間和日期更新需求。但是,我目前的代碼不允許我這樣做。我試着添加另一個代碼來糾正這個問題,但它不起作用。有誰知道如何添加一個約束,以便當它遇到相同的數據和時間,但需求不同時,它只會用新的需求更新數據庫。而不是添加包含相同時間和日期但需求不同的新行。通過java更新mysql數據庫
我的原代碼:
preparedStatement = connect
.prepareStatement("insert into testdb.emcsg values (?, ?, ? , ?, ?)");
preparedStatement.setInt(1, count+1);
preparedStatement.setString(2, d1);
preparedStatement.setString(3, d2);
preparedStatement.setString(4, d3);
preparedStatement.setString(5, d4);
preparedStatement.executeUpdate();
我編輯的代碼:
preparedStatement = connect
.prepareStatement("insert INTO testdb.emcsg values (?, ?, ? , ?, ?) ON DUPLICATE KEY UPDATE 5");
preparedStatement.setInt(1, count+1);
preparedStatement.setString(2, d1);
preparedStatement.setString(3, d2);
preparedStatement.setString(4, d3);
preparedStatement.setString(5, d4);
preparedStatement.executeUpdate();
,這些修改的代碼想出了一個錯誤 「您的SQL語法錯誤;」建議和幫助將不勝感激!
是否有更多的錯誤可以發佈? – 2012-02-01 12:30:15
您是否通過在mysql控制檯中手動執行測試查詢來檢查語法? – Thomas 2012-02-01 12:32:18
嗨,不,我使用本網站所提供的語法http://dev.mysql.com/doc/refman/5.0/en/insert-on-duplicate.html – Eugene 2012-02-01 12:34:41