› MySQL 5.5 Community Server
› MySQL 5.6 Community Server
› Percona Configuration Wizard
› XtraBackup 搭建主从复制
Great Sites on MySQL
› Percona
› MySQL Performance Blog
› Severalnines
推荐管理工具
› Sequel Pro
› phpMyAdmin
推荐书目
› MySQL Cookbook
MySQL 相关项目
› MariaDB
› Drizzle
参考文档
› http://mysql-python.sourceforge.net/MySQLdb.html
anzu
V2EX  ›  MySQL

为什么保存时间戳报错?

  •  
  •   anzu · Feb 15, 2020 · 4076 views
    This topic created in 2413 days ago, the information mentioned may be changed or developed.

    因为要保存爬虫抓取到的时间戳数据,所以不能用 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

    Supplement 1  ·  Feb 15, 2020

    搞清楚了。插入的时候需要用from_unixtime转换

    insert into NewTable(ts) values (FROM_UNIXTIME(1581735917))
    

    如果需要保存毫秒数,timestamp字段要指定长度3,比如 timestamp(3),插入时可存浮点数

    insert into NewTable(ts) values (FROM_UNIXTIME(1581735917.309))
    
    8 replies  •  2020-02-15 16:21:13 +08:00
    chenset
        1
    chenset  
       Feb 15, 2020
    1581735917 你写的是 int 类型, 跟数据库的 timestamp 不是同一种类型
    chenset
        2
    chenset  
       Feb 15, 2020
    insert into NewTable(ts) values ('2020-02-15 04:41:22'); 应该这样才行. 未测试~
    chenset
        3
    chenset  
       Feb 15, 2020
    保存 int 型时间戳一般都是这样吧: `ts` int NOT NULL DEFAULT 0
    jugelizi
        4
    jugelizi  
       Feb 15, 2020
    Incorrect datetime value: '117' for
    很清楚啊 datatime 类型 你存时间戳了
    turan12
        5
    turan12  
       Feb 15, 2020
    此时间戳非彼时间戳😊
    mxalbert1996
        6
    mxalbert1996  
       Feb 15, 2020 via Android
    @chenset datetime 和 timestamp 也不是同一种类型
    leonard916
        7
    leonard916  
       Feb 15, 2020
    我覺得 datetime 比較舒服,另外插入時間要用函數 不能直接插一個數字或者字符串進去
    jason19659
        8
    jason19659  
       Feb 15, 2020
    你这个 1581735917 至少也要乘以 1000 吧
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2290 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 00:58 · PVG 08:58 · LAX 17:58 · JFK 20:58
    ♥ Do have faith in what you're doing.