SQL或ORACLE数据库UPDATE时自动记录更新时间

SQL或ORACLE数据库UPDATE时自动记录更新时间,第1张

dml *** 作(insert

,

delete

,

update)之后,一定要使用commit或rollback命令来结束该事务,否则直接关闭sql

plus,数据库默认rollback之前未提交的事务,所以今天你在select的时候

会显示未选定行。

而手动输入commit,rollback

这类的命令,是显示的提交事务(完成事务)。

如果在dml *** 作之后未及时显示的提交,而是又进行了ddl *** 作(create

alter),则数据库会隐式的提交之前未完成的事务。

所以

下次一定要注意哦~~

date类型的数据就是date类型,只是显示的问题。

肯定是你软件开发的时候没有写好。

oracle 时间类型转换为字符串的函数。

to_char(sysdate,'yyyymmddhh24miss')

hh24就是24小时制 。

既然楼主已经解决了,

我就顺便粘贴点

测试的

sql

代码上来吧

首先是

插入

更新,

都会修改

TIMESTAMP

的情况:

create

table

testB

(

id

int

PRIMARY

KEY,

val

varchar(10),

dt

TIMESTAMP

);

INSERT

INTO

testB(id,

val)

VALUES(1,

'A');

INSERT

INTO

testB(id,

val)

VALUES(2,

'B');

SELECT

FROM

testB;

+----+------+---------------------+

|

id

|

val

|

dt

|

+----+------+---------------------+

|

1

|

A

|

2013-03-21

14:24:20

|

|

2

|

B

|

2013-03-21

14:24:21

|

+----+------+---------------------+

2

rows

in

set

(000

sec)

UPDATE

testB

SET

val

=

'C'

WHERE

id

=

1;

SELECT

FROM

testB;

+----+------+---------------------+

|

id

|

val

|

dt

|

+----+------+---------------------+

|

1

|

C

|

2013-03-21

14:28:02

|

|

2

|

B

|

2013-03-21

14:24:21

|

+----+------+---------------------+

2

rows

in

set

(000

sec)

然后是

仅仅插入时设置,

修改时不更新的情况

假如仅仅需要

插入时记录时间,

更新的时候不需要,

那么需要修改表定义方式:

TIMESTAMP

not

null

default

CURRENT_TIMESTAMP

create

table

testC

(

id

int

PRIMARY

KEY,

val

varchar(10),

dt

TIMESTAMP

not

null

default

CURRENT_TIMESTAMP

);

INSERT

INTO

testC(id,

val)

VALUES(1,

'A');

INSERT

INTO

testC(id,

val)

VALUES(2,

'B');

SELECT

FROM

testC;

+----+------+---------------------+

|

id

|

val

|

dt

|

+----+------+---------------------+

|

1

|

A

|

2013-03-21

14:35:12

|

|

2

|

B

|

2013-03-21

14:35:13

|

+----+------+---------------------+

2

rows

in

set

(000

sec)

UPDATE

testC

SET

val

=

'CC'

WHERE

id

=

1;

SELECT

FROM

testC;

+----+------+---------------------+

|

id

|

val

|

dt

|

+----+------+---------------------+

|

1

|

CC

|

2013-03-21

14:35:12

|

|

2

|

B

|

2013-03-21

14:35:13

|

+----+------+---------------------+

2

rows

in

set

(000

sec)

以上就是关于SQL或ORACLE数据库UPDATE时自动记录更新时间全部的内容,包括:SQL或ORACLE数据库UPDATE时自动记录更新时间、公司订单系统是oracle数据库写的 以前下单时间都是自动24小时显示的,不知道怎么回事突然变成12小时制、mysql如何让时间属性不自动更新等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/10169821.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-06
下一篇2023-05-06

发表评论

登录后才能评论

评论列表(0条)

    保存