首页 新闻 搜索 专区 学院

关于MySQL数据库的一个问题

0
悬赏园豆:100 [已解决问题] 解决于 2020-05-07 18:08

请问下有人遇到过一种情况 我本地的数据库如果某个字段设置了长度只能为10 但是我插入了超过10长度的字符后 自动把多出的字符给截取掉了没报错 但是我服务器上的数据库就会报错说字符太长 还有我设置了某个字段不能为空 但是我插入的时候传了null 但是我本地的数据库就会直接插入一个空字符串也不报错 但是服务器上就会提示说字段不允许为null

请问这是什么原因导致的?怎么让我本地也出现约束提示?

尐灬疯子的主页 尐灬疯子 | 初学一级 | 园豆:64
提问于:2020-05-07 17:03
< >
分享
最佳答案
0

设置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

收获园豆:100
。淑女范erり | 小虾三级 |园豆:799 | 2020-05-07 17:46

感谢 我设置后可以了 不然每次我本地没报错 一发布到服务器上就各种报错

尐灬疯子 | 园豆:64 (初学一级) | 2020-05-07 18:07
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册