MySQL/Oracle:让表的时间字段在insert和update时自动更新_xuejianbest的专栏-CSDN博客_updated => time 怎麼插入時間

标签: | 发表时间:2020-06-21 19:31 | 作者:
出处:https://blog.csdn.net
让字段自动更新为当前时间戳:

--insert时若不指定updated值,则插入当前时间
CREATE TABLE `test_update` (
  `id` int(32) NOT NULL,
  `updated` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,  
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

--insert时和update时若不指定updated值,则插入当前时间
CREATE TABLE `test_update` (
  `id` int(32) NOT NULL,
  `updated` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, 
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

--insert时若不指定updated值,则为NULL;update时若不指定updated值,则插入当前时间
CREATE TABLE `test_update` (
  `id` int(32) NOT NULL,
  `updated` timestamp NULL ON UPDATE CURRENT_TIMESTAMP, 
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

timestamp类型只用来存储创建时间和更新时间,因为可以自动更新,不需要程序里来处理。
一般的时间用varchar存储比较好处理。

添加一个新字段:

ALTER TABLE `toll_station` ADD COLUMN 
  `update_time` timestamp NOT NULL 
  DEFAULT CURRENT_TIMESTAMP 
  ON UPDATE CURRENT_TIMESTAMP 
  COMMENT '记录数据更新时间,自动更新,不要手动修改' 
AFTER `status`;
————————————————

用sql语句查看oracle表每条记录的创建时间(ora_rowscn)

      有时要查看表中的那条记录是什么时候创建的,有的会去用logminer去查看,有的会用闪回查询,其实很简单,不用那么麻烦,oracle的建每张表时都会建一个隐含的字段ora_rowscn,看到这个字段的名字,有写人会想到scn?对了,oracle在向表中插入记录时会记录插入记录时当前数据库的scn,那么聪明的你很快就会想到,既然有每条记录的scn,那么通过scn不就能查到每条记录的创建时间啦?全对!
      只要一句话,就可以轻松查看表记录的生成时间,相信这个应该会有帮助的!
      举个例子:
      select to_char(scn_to_timestamp(ORA_ROWSCN),'yyyy-mm-dd hh24:mi:ss') insert_time from scott.emp;
      结果将会看到emp表中每条记录创建时的时间。

      默认情况下,每行记录的ORA_ROWSCN是基于Block的,这样是不准确的,除非在建表的时候执行开启行级跟踪(create table … rowdependencies),这样就会是在行级记录scn。
      所以要想查看准确的记录创建时间则在建表时要加rowdependencies选项!

相关 [mysql oracle 时间] 推荐:

Linux Ksplice,MySQL and Oracle

- Syn - DBA Notes
Oracle 在 7 月份收购了 Ksplice. 使用了 Ksplice 的 Linux 系统,为 Kernel 打补丁无需重启动,做系统维护的朋友应该明白这是一个杀手级特性. 现在该产品已经合并到 Oracle Linux 中. 目前已经有超过 700 家客户,超过 10 万套系统使用了 Ksplice (不知道国内是否已经有用户了.

Oracle MySQL Or NoSQL续

- - Sky.Jian 朝阳的天空
接前面一篇,这里再将之前在“中国系统架构师大会”5周年的时候发布的纪念册“IT架构实录”上的一篇文章发出来,也算是前面博文中PPT的一个文字版解读吧. Oracle,MySQL 还是 NoSQL. 随着阿里系的“去IOE”运动在社区的宣传声越来越大,国内正在掀起一股“去xxx”的技术潮. 不仅仅是互联网企业,包括运营商以及金融机构都已经开始加入到这个潮流之中.

Oracle、Db2、SqlServer、MySQL 数据库插入当前系统时间

- - CSDN博客推荐文章
例如有表table,table 中有两个字段:name 、makedate. 插入系统时间应为sysdate:. insert into table (name,makedate) values('测试',sysdate);. 插入系统时间应为current timestamp并且makedate数据类型为timestamp.

mybatis oracle mysql 批量插入

- - Oracle - 数据库 - ITeye博客
一、oracle的批量插入方式. 二、mysql的批量插入方式. ORA-00918:未明确定义列. 如果不设置列名,那么#{item.senderPhone}的值就是默认列名,那么就有很多概率会产生列名重复,而产生异常. (两个列的值完全可能一样). #{item.receiveTime} 值为null时,必须指定转换类型.

oracle、mysql和sqlserver分页

- - Oracle - 数据库 - ITeye博客
sql server row number分页:. mysql limit分页:. 已有 0 人发表留言,猛击->> 这里<<-参与讨论. —软件人才免语言低担保 赴美带薪读研.

MySQL与Oracle的大小写问题

- - 数据库 - ITeye博客
前段时间,维护的一个应用在Oracle测试时出错,该应用原来已经在MySQL上完成测试. 通过查找定位,原因是字段名大小写问题. 下面与大家分离一下MySQL与Oracle在大小写处理上的区别:. 1、在Windows下,数据库名、表名、字段名不区分大小写. 2、大Linux/Unix下,数据库名、表名区分大小写,字段名不区分大小写.

MySQL/Oracle:让表的时间字段在insert和update时自动更新_xuejianbest的专栏-CSDN博客_updated => time 怎麼插入時間

- -
让字段自动更新为当前时间戳:. --insert时若不指定updated值,则插入当前时间. --insert时和update时若不指定updated值,则插入当前时间. --insert时若不指定updated值,则为NULL;update时若不指定updated值,则插入当前时间. timestamp类型只用来存储创建时间和更新时间,因为可以自动更新,不需要程序里来处理.

从Oracle转到Mysql前需了解的50个主意事项

- - ITeye博客
1、 对子查询的优化表现不佳. 2、 对复杂查询的处理较弱. 3、 查询优化器不够成熟. 4、 性能优化工具与度量信息不足. 6、 安全功能不成熟,甚至可以说很粗糙. 没有用户组与角色的概念,没有回收权限的功能(仅仅可以授予权限). 当一个用户从不同的主机/网络以同样地用户名/密码登录之后,可能被当作完全不同的用户来处理.

MySQL:日期函数、时间函数总结(MySQL 5.X)

- - ITeye博客
一、MySQL 获得当前日期时间 函数. 1.1 获得当前日期+时间(date + time)函数:now(). 除了 now() 函数能获得当前的日期时间外,MySQL 中还有下面的函数:. 这些日期时间函数,都等同于 now(). 鉴于 now() 函数简短易记,建议总是使用 now() 来替代上面列出的函数.

我加入 MySQL 的 5 年时间

- - 博客园_新闻
英文原文: 5 years of MySQL . 加入 MySQL 社区之后,人们通常会在迎来一些高兴的周年纪念的时候写点博文. 对那些很老的家伙来说的话,基本就是指加入 MySQL 工作的日子了. 对我来说,那是 2008 年一月. 因为月份没记对,我之后也没写什么东西,但是我决定抓住机会现在开始写点东西.