mysql里面没设置默认值字段也不允许为空,插入语句中也没指定值却能插入成功!是什么情况??

如题,我的表结构是这样的
图片说明

SQL语句:INSERT INTO test (name) VALUES ('lsq2')
图片说明

求大神帮忙!!

后面的图片上错了, 图片说明

楼主你替数据库想想,又不能为null,又得是int类型,还能怎么办,数据库只能补个0.

我以为是会报错,这是我本地测试的 没有报错我在正式服务器上试了报错了,说字段没有默认值。

set sql_mode ="STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION";
在mysql执行下这个sql
就可以了,