0
我是Java編程的完全新手,但我正在努力。我已經搜索了很多,但我無法弄清楚,即使許多初學程序員同樣遇到同樣的問題。MySQL查詢在PhpMyAdmin中可用,但不能在JAVA中使用Eclipse
我有這個Java <> MySQL的問題,我不能包住它!
如果我執行這個查詢在phpMyAdmin:
SET count = 0; UPDATE tablename SET table_id = count:= count + 1;
ALTER TABLE tablename AUTO_INCREMENT = 1;
它的工作原理,因爲我想它,重置ID(之後我刪除行),它可能不是最優雅的解決方案,但它能夠完成任務。
但只要我在Eclipse我的控制檯亮起,像聖誕樹一樣執行相同的查詢,我得到一個:
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:您有一個 您的SQL語法錯誤;查看與您的 MySQL服務器版本相對應的手冊,以找到在'UPDATE tablename SET table_id = @count:= @count + 1; ALTER TABLE表名 AU'在第1行
錯誤...檢查我的語法。它在phpMyAdmin中有效。 我的Eclipse Java方法:
public void resetDBID(){
try{
// query to reset menu_id manly after delete row
Statement statement = con.connection.createStatement();
String sset;
sset = "SET @count = 0; "
+ "UPDATE afhaalmenus SET menu_id = @count:= @count + 1; "
+ "ALTER TABLE afhaalmenus AUTO_INCREMENT = 1;";
statement.execute(sset);
} catch(SQLException ex){
String message = "rest ID fail";
JOptionPane.showMessageDialog(null, message, "method fail", JOptionPane.INFORMATION_MESSAGE);
ex.printStackTrace();
}
}
什麼是我在這裏失蹤?或者做錯了... 在此先感謝您的幫助!
加入個人聲明進入批量生產;然後執行批處理並提交 –
YEAH !!!!我GOOGLE了你的意思,它的工作!非常感謝!!!! – Arjen
不知道Java(多年未觸及它),但createStatement/execute在這裏使用的是否支持單個執行中的多個SQL語句? – Kickstart