2012-01-18 98 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";