为什么保存时间戳报错?

2020-02-15 12:10:32 +08:00
 anzu

因为要保存爬虫抓取到的时间戳数据,所以不能用 now(),想直接保存整型,但是报错,我记得好像可以直接保存整型的

CREATE TABLE `NewTable` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `ts` timestamp NOT NULL DEFAULT current_timestamp(),
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4
insert into NewTable(ts) values (1581735917)
SQL Error [1292] [22007]: (conn:26) Incorrect datetime value: '1581735917' for column `NewTable`.`ts` at row 1

数据库是 mariadb

3270 次点击
所在节点    MySQL
8 条回复
chenset
2020-02-15 12:39:26 +08:00
1581735917 你写的是 int 类型, 跟数据库的 timestamp 不是同一种类型
chenset
2020-02-15 12:42:21 +08:00
insert into NewTable(ts) values ('2020-02-15 04:41:22'); 应该这样才行. 未测试~
chenset
2020-02-15 12:43:57 +08:00
保存 int 型时间戳一般都是这样吧: `ts` int NOT NULL DEFAULT 0
jugelizi
2020-02-15 12:54:15 +08:00
Incorrect datetime value: '117' for
很清楚啊 datatime 类型 你存时间戳了
turan12
2020-02-15 13:32:57 +08:00
此时间戳非彼时间戳😊
mxalbert1996
2020-02-15 14:57:36 +08:00
@chenset datetime 和 timestamp 也不是同一种类型
leonard916
2020-02-15 15:18:32 +08:00
我覺得 datetime 比較舒服,另外插入時間要用函數 不能直接插一個數字或者字符串進去
jason19659
2020-02-15 16:21:13 +08:00
你这个 1581735917 至少也要乘以 1000 吧

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/644745

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX