2012-01-18 36 views
0

我需要從Java更新MySQL數據庫。特別是,我需要更新稱爲't_field'的時間字段。來自Java的MySQL數據庫更新時間字段

CREATE TABLE IF NOT EXISTS `TimeTest` (
    `id` SMALLINT NOT NULL AUTO_INCREMENT, 
    `t_field` TIME NOT NULL, 
    `resQty` INT(3) 
) ENGINE=MyISAM DEFAULT CHARSET=latin1; 

如何使用符號"在String寫,如果JAVA UPDATE語句?

String query = "UPDATE TimeTest SET t_field = "00:05" WHERE id=1"; // sure, it does not work 
+0

你嘗試過「使用反斜線? – Zohaib 2012-01-18 10:46:55

回答

1

使用單引號

String query = "UPDATE TimeTest SET t_field = '00:05' WHERE id=1"; 

String query = "UPDATE TimeTest SET t_field = \"00:05\" WHERE id=1"; 
1

避免依賴於由數據庫所用的時間對外表示,這可能取決於數據庫,語言環境和設置。相反,使用事先準備好的聲明:

String query = "update TimeTest set t_field = ? where id = 1"; 
PreparedStatement stmt = cnx.prepareStatement(query); 
Time time = Time.valueOf("00:05:00"); 
stmt.setTime(1, time); 
stmt.executeUpdate(); 

這可能看起來像一個時代的細節,但是當你必須與日期或時間戳做到這一點,它會變得更加重要。

1

使用\"

String query = "UPDATE TimeTest SET t_field = \"00:05\" WHERE id=1"; 
相關問題