我有这段代码,但它没有用。我有错误信息:
" com.mysql.jdbc.MysqlDataTruncation:数据截断:日期时间值不正确:''对于专栏' Datum_zalozeni'在第1行和第34行;
pstmt = conn.prepareStatement(INSERT);
Timestamp ts = u.getDatum_zalozeni();
System.out.println(ts);
pstmt.setTimestamp(1, ts);
pstmt.setInt(2, u.getId_klient());
pstmt.executeUpdate();
我的数据库是:
CREATE TABLE Ucet
(
Id_Uctu Int NOT NULL auto_increment primary key,
Datum_zalozeni Timestamp NOT NULL,
Id_klient Int NOT NULL
)
;
哪里出错?我认为代码是正确的。
答案 0 :(得分:0)
MySQL通常接受“2013-12-06 14:24:34”格式的时间戳。如果您分享您尝试插入数据库的确切值,将会很有帮助。
Timestamp ts = u.getDatum_zalozeni();
System.out.println(ts);
pstmt.setTimestamp(1, ts);
什么是ts?
答案 1 :(得分:0)
我有一个代码来生成系统时间戳。它设置0代替979.看看。
WITH
MEMBER [Today] as
([Measures].[Internet Sales Amount], [Date].[Date].CURRENTMEMBER)
MEMBER [Last Week] as
AGGREGATE (
{ [Date].[Date].CURRENTMEMBER.lag(6) : [Date].[Date].CURRENTMEMBER }
, [Measures].[Internet Sales Amount]
)
SELECT
{ [Today], [Last Week] } ON 0,
{ ([Product].[Product Categories].[Category], [Date].[Date].[Date]) } ON 1
FROM
(
/*FILTERING ON SPECIFIC DATE USING SUBCUBE*/
SELECT [Date].[Date].&[20070715] ON 0
FROM [Adventure Works]
)