在mySQL中将datetime转换为unix时间戳

时间:2014-06-13 08:32:20

标签: mysql datetime unix-timestamp insert-into

所以这就是事情,我有两个表的数据库'example':

'exampletable1'包含两列'ID','datetime'

'exampletable2'包含两列'id2','timestamp'

(两个ID字段都是主键并自动递增)

我正在尝试将exampletable1中的元素(行)导入到exampletable2,但是当它在'timestamp'字段中给我NULL时。所以我试着使用你所谈到的FORMAT(),UNIX_TIMESTAMP,但是它没有用,也没有你发布的代码。

这是我正在执行的查询:

INSERT INTO `exampletable2`(`timestamp`)
SELECT UNIX_TIMESTAMP(`datetime`) FROM `exampletable1`

或:

INSERT INTO `exampletable2`(`timestamp`)
SELECT FORMAT(`datetime`,TIMESTAMP) FROM `exampletable1`

我感谢任何帮助人员!

2 个答案:

答案 0 :(得分:0)

您不需要重新格式化/转换任何内容。只是做

INSERT INTO exampletable2 (timestamp)
SELECT datetime 
  FROM exampletable1

这是 SQLFiddle 演示

推荐阅读

答案 1 :(得分:0)

您无需将DATETIME转换为TIMESTAMP,只需直接插入即可:

INSERT INTO `exampletable2`(`timestamp`)
SELECT `datetime` FROM `exampletable1`

SQLFiddle

您可以在此处查看有关此类型的详情:The DATE, DATETIME, and TIMESTAMP Types