MySQLは、同じデータテーブルの日付フィールドを別のタイムスタンプフィールドに割り当てます

最初に要件について説明します。

user_amountテーブルが以前に設計されていた場合、日付を保存するフィールドはcreatTime、タイプはタイムスタンプ、日付は「2021-02-0117: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;

1.タイムスタンプを日付に変換する関数: 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;

3.データテーブルの日付フィールドを別のタイムスタンプフィールドに割り当てます。

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