【发布时间】:2011-08-02 00:32:42
【问题描述】:
我将图像存储在一个表中,我想获取将图像插入表中所用的时间戳,它们是否有任何入站 sql 语法来获取插入数据的时间戳?或任何用于从数据库中获取插入数据时间戳的 java 语法,请帮忙
【问题讨论】:
-
获取时间戳?因此,在插入时,您想知道数据是在什么时间插入的?还是您只想将 current_timestamp 与数据一起存储?
我将图像存储在一个表中,我想获取将图像插入表中所用的时间戳,它们是否有任何入站 sql 语法来获取插入数据的时间戳?或任何用于从数据库中获取插入数据时间戳的 java 语法,请帮忙
【问题讨论】:
CURRENT_TIMESTAMP 是一个在大多数数据库服务器中都可用的函数。所以这样的 sql 应该可以工作。
INSERT INTO <some_table> (<timestamp_column_name> VALUES (CURRENT_TIMESTAMP)
如果你想在java中做,那么你可以做以下事情:-
java.util.Date currentTime = new java.util.Date();
System.out.println(new java.sql.Timestamp(currentTime.getTime())); //gets you the current sql timestamp
【讨论】:
它会因数据库而异。这将在最少的 Oracle 和 mysql 中工作:
insert into PRODUCE (color, weight, added_at) values ('red', '8 ounces', sysdate());
如果您使用的是 MySql,您还可以将 DEFAULT CURRENT TIMESTAMP 添加到列定义中:
create table PRODUCE (
color varchar(20),
weight varchar(20),
added_at TIMESTAMP DEFAULT CURRENT TIMESTAMP
);
insert into PRODUCE (color, weight) values ('red', '8 ounces');
在 Oracle 中,需要创建一个单独的触发器来实现默认值。
【讨论】: