创建具有 TIMESTAMP 数据类型的准备绑定插入语句



我正在尝试使用准备绑定语句插入一些行。其中一列的类型为TIMESTAMP。如何将此列的变量与当前纪元时间绑定?

我有下表:

CREATE TABLE orders {
user_id TEXT,
order_time TIMESTAMP,
order_id UUID DEFAULT gen_random_uuid(),
order_details TEXT,
PRIMARY KEY (user_id, order_time DESC, order_id),
FOREIGN KEY (user_id) REFERENCES %s (user_id)
);

我有以下准备语句代码:

String stmt = "INSERT INTO orders " +
"(user_id, order_time, order_details) " + 
"VALUES (?, ?, ?);"
PreparedStatement p = connection.prepareStatement(stmt);

现在,我正在尝试将当前纪元时间System.currentTimeMillis()绑定到此语句中的变量 2。我应该怎么做?

与 SQLTIMESTAMP对应的 Java 类型很可能是java.sql.Timestamp。 您可以使用以下方法生成当前时间戳:

Timestamp timestamp = new Timestamp(System.currentTimeMillis());

因此,您准备好的语句代码可能如下所示:

String stmt = "INSERT INTO orders " +
"(user_id, order_time, order_details) " + 
"VALUES (?, ?, ?);"
PreparedStatement p = connection.prepareStatement(stmt);
p.setString(1, "Karthik");
p.setTimestamp(2, new Timestamp(System.currentTimeMillis()));
p.setString(3, "here is some order text");

相关内容

  • 没有找到相关文章