美文网首页
Data truncation: Incorrect datet

Data truncation: Incorrect datet

作者: 码农工号9527 | 来源:发表于2019-11-05 21:39 被阅读0次
  1. 错误提示
    Data truncation: Incorrect datetime value: '0000-00-00 00:00:00' for column xxx
  2. 问题分析
    从上面的描述我们可以看出原因是:我们给类型是datetime的xxx字段赋值0000-00-00 00:00:00是不被支持的,赋值包含两种情况:
    情况一:我们直接提供的值就是0000-00-00 00:00:00
    情况二:xxx字段我们没有提供值,默认值是0000-00-00 00:00:00
  3. 原因分析
    原因是我们的数据库不支持datetime为0的情况,这是一个模式的设置。
  4. 具体解决
    进入mysql
    4.1查看sql_mode

查看当前sql_mode

select @@sql_mode;

查看全局sql_mode

select @@global.sql_mode;
4.2修改sql_mode(将上述查询到的sql_mode中的NO_ZERO_DATE和NO_ZERO_IN_DATE删除即可)

修改全局

set @@global.sql_mode = 'STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';

修改当前

set @@sql_mode = 'STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';

或者修改mysql配置

vim /etc/my.cnf

添加:

sql_mode = STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

重启mysql

相关文章

网友评论

      本文标题:Data truncation: Incorrect datet

      本文链接:https://www.haomeiwen.com/subject/kfzebctx.html