小编Sek*_*tat的帖子

mariadb:jdbc:setTimestamp截断毫秒

在我看来,如果我使用preparedStatement将它们插入我的mariadb中,毫秒会被截断.谷歌搜索它不成功,我发现许多类似的问题要么已经解决,要么不适用.但是很难相信我是唯一一个遇到这个问题的人,所以我想在向mariadb提交bug之前先问这里.代码很简单:

表:

create table tt (id decimal(10), create_time timestamp(6) default 0);
or
create table tt (id decimal(10), create_time datetime(6) default 0);
Run Code Online (Sandbox Code Playgroud)

Javacode:

Class.forName("org.mariadb.jdbc.Driver");
Connection conn = DriverManager.getConnection(DB_URL,"root","abc");
Statement insert1 = conn.createStatement();
insert1.execute("insert into tt (id, create_time) values (1,'2013-07-18 13:44:22.123456')");
PreparedStatement insert2 = conn.prepareStatement(
  "insert into tt (id, create_time) values (?,?)");
insert2.setInt(1, 2);
insert2.setTimestamp(2, new Timestamp(1273017612999L));
insert2.execute();
Run Code Online (Sandbox Code Playgroud)

我的DOS控制台输出:

MariaDB [duc]> select * from tt;
+------+----------------------------+
| id   | create_time                |
+------+----------------------------+
|    1 | 2013-07-18 13:44:22.123456 |
|    2 | 2010-05-05 …
Run Code Online (Sandbox Code Playgroud)

java jdbc mariadb

5
推荐指数
1
解决办法
1991
查看次数

标签 统计

java ×1

jdbc ×1

mariadb ×1