1
我使用Tomcat與連接池和MySQL JDBCconnectorMySQL不能可靠地獲得汽車INC值返回由於截斷例外
我得到我的連接執行插入,並希望返回鍵的值。這是這樣做的:
conn = ds.getConnection();
stmt = conn.createStatement();
stmt.executeQuery("use "+dbname);
sql = sql.trim();
int res = stmt.executeUpdate(sql);
if (sql.toLowerCase().startsWith("insert")) {
rs = stmt.getGeneratedKeys() ;
if (rs.next())
r= rs.getString(1);
}
所以這一直工作正常,我得到的ID返回。
如果存在DATA TRUNCATION EXCEPTION,那麼雖然插入成功,但我不能再獲取返回鍵的值。所以我最終得到了我不知道的數據庫中的值。
我需要擺脫異常或者可能改變我做這個的整個方式?
我可以修復執行更新和dbase數據類型的bean - 但我想要一個皮帶和大括號的方式來確保我沒有做到這一點,我可以獲得ID,因爲它成功了嗎?
不要忘記回滾 – 2013-04-27 15:02:49
你是對的,讓我解決這個問題。 – 2013-04-27 15:16:01
嗨我試過,但同樣的問題仍然會發生。我不收回自動公司編號,SQL成功(其在數據庫中)與拋出的異常com.mysql.jdbc.MysqlDataTruncation:數據截斷:數據截斷列。 – user1882639 2013-04-27 15:17:01