请问下有人遇到过一种情况 我本地的数据库如果某个字段设置了长度只能为10 但是我插入了超过10长度的字符后 自动把多出的字符给截取掉了没报错 但是我服务器上的数据库就会报错说字符太长 还有我设置了某个字段不能为空 但是我插入的时候传了null 但是我本地的数据库就会直接插入一个空字符串也不报错 但是服务器上就会提示说字段不允许为null
请问这是什么原因导致的?怎么让我本地也出现约束提示?
设置Sql mode为严格模式STRICT_ALL_TABLES就会报错了。
my.ini设置试试:
sql-mode=STRICT_ALL_TABLES
如果临时修改,可以通过SET命令修改:
SET GLOBAL sql_mode = 'STRICT_ALL_TABLES';
每个版本参数有所不同,可以去官网看下介绍,5.7参考下:
https://dev.mysql.com/doc/refman/5.7/en/sql-mode.html#sql-mode-setting
感谢 我设置后可以了 不然每次我本地没报错 一发布到服务器上就各种报错