mysql日期时间设置默认0000-00-00 00:00:00出错

在解决问题之前,我们要先了解一下mysql的严格模式和非严格模式,有兴趣可以自己查看一下官方文档

严格模式

顾名思义,就是比非严格模式更为严格,主要就是对数据的要求更为严格,比如数据的类型,长度,格式等。比如一个整型字段我们写入一个字符串类型的数据,在非严格模式下MySQL不会报错,同样如果定义了char或varchar类型的字段,当写入或更新的数据超过了定义的长度也不会报错。还有一些关于null的数据问题,也可能是因为严格模式造成的,不过我没遇到过,就跳过这个问题┓( ´∀` )┏

个人推荐,开启严格模式,毕竟也算是对我们代码的一种测试,严格一点总好过项目完成后出问题再大改好。

首先,通过

SELECT @@GLOBAL.sql_mode;       //查看MySQL的全局模式
SELECT @@SESSION.sql_mode;      //查看MySQL的当前连接的模式,如果当前连接模式与全局模式不一致,关闭连接后再连接就一致了

这两个语句查看你是否处于严格模式,如果查询结果中有

STRICT_TRANS_TABLES

这个类型就代表你开启了严格模式(看了别人的文章貌似还要跟ONLY_FULL_GROUP_BY组合才算?这个不清楚)

如果没有,

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值