java sql异常:不一致的数据类型:预期的时间戳编号
我已经用时间戳数据库在sql数据库中创建了一个冒号。 我正试图从java运行下面给出的插入查询
st = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE);
st.executeUpdate("insert into profmessage values('" + uid + "','" + from + "','" + to + "','" + msg + "','" + dt + "',1,0,'" + new java.sql.Timestamp(new Date().getTime()) + "')");
st.close();
它正在显示
sqlexception inconsistent datatypes: expected TIMESTAMP got NUMBER
# 1 楼答案
在SQL Server中,
TIMESTAMP
数据类型的含义与您认为的不同TIMESTAMP
列意味着在服务器创建和更新行时由服务器本身进行更新。它们的值看起来像“0x00000000001CF9F9
”,这实际上只是一个十六进制格式的数字您需要的是
DATETIME
数据类型# 2 楼答案
我认为您应该使用PreparedStatement(这也有助于避免SQL注入),并像这样插入时间戳的值: