2017-02-24 5 views
1

我有一个表有两个字段insert_time和update_time。 insert_time的类型是varchar(30) NOT NULL DEFAULT ''update_time的类型是timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP如何在mysql中插入两个具有相同服务器时间的datetime字段?

insert into tableName(inser_time,update_time) values('2017-02-17 20:30:38') 

会使update_time失去意义。

那么如何让两个字段在插入时有相同的服务器时间,如果没有更新Mysql版本呢?

+2

你为什么要将日期信息存储为'varchar'? –

+0

@TimBiegeleisen为我的MySQL版本。 http://stackoverflow.com/a/17498167/1468517 – Aflext

+0

在insert语句中使用NOW()。或者使用触发器。 –

回答

0

只需将两个字段设置为相同的值?

insert into tableName(inser_time,update_time) 
values('2017-02-17 20:30:38','2017-02-17 20:30:38') 

EDIT使用当前时间

insert into tableName(inser_time,update_time) 
values(now(), now()) 

编辑2从MySQL手册于: https://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html#function_now

函数返回当前的日期或时间的每个进行评估每个查询只 一次在查询执行开始时。这意味着在单个查询 内对多个NOW()等函数的多次引用总是会产生相同的结果。

+0

我希望服务器日期时间的保存值为 – Aflext

+0

请参阅编辑回答 –

+0

这两个'now()'具有完全相同的值吗?我的意思是,执行两个函数可能需要时间。 – Aflext

相关问题