mysql把同一张数据表里某个日期字段,赋值给另一个时间戳字段

先说一下需求:

user_amount表之前设计时,保存日期的字段是creatTime,  类型timestamp,保存的是‘2021-02-01 17:50:21’这种格式的日期。

user_amount表设计变动后,需要把日期保存在create_time字段里,类型int ,保存的是"1612173021"这种格式的时间戳。

DROP TABLE IF EXISTS `user_amount`;
CREATE TABLE `user_amount` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  `creatTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  `create_time` int(11) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=utf8;

一、将时间戳转换成日期的函数:FROM_UNIXTIME

select FROM_UNIXTIME('1612173021','%Y年%m月%d') from user_amount;

二、将日期转换成时间戳的函数:UNIX_TIMESTAMP

select UNIX_TIMESTAMP('2021-02-01 17:50:21') from user_amount;

三、把数据表里日期字段,赋值给另一个时间戳字段:

1、执行代码前

select id,creatTime,create_time from user_amount;

2、更新操作

UPDATE user_amount u1, pay_user_amount u2 SET u1.create_time = UNIX_TIMESTAMP(u2.creatTime) where u1.id=u2.id;

3、执行完更新后的结果

猜你喜欢

转载自blog.csdn.net/qq15577969/article/details/113749549
今日推荐