首页 > 代码库 > 管理mysql数据严格模式
管理mysql数据严格模式
最近使用mysql数据库高一点的版本遇到了,插入和修改等语句失败情况。语句没有错误,但是workbench提示 Field ‘id‘ doesn‘t have a default value。原因是
数据库开启了严格模式,以插入语句来说 语句中包含多列空值时,则不允许插入。如果确实需要插入多列空值的情况下。则就需要关闭严格审查模式了
关闭方法,首先找到mysql的安装目录下的.ini文件,以默认安装目录来说一般存在
C:\ProgramData\MySQL\MySQL Server 5.6\my.ini
在别的服务器运行我的网站程序的时候,出现了Field ‘id‘ doesn‘t have a default value 的提示,意思是这个值我没有提交数据,并且数据库结构没有设置默认值,由于对方的mysql服务器开启了STRICT_TRANS_TABLES严格模式,所以报错了
解决方法是:
如果自己的服务器,有权限修改my.ini的话,打开my.ini,查找 sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
修改为
sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
然后重启MYSQL
在别人的虚拟空间上当然不可能实现,所以根本的解决方法还是修改自己的数据结构,把非空的字段加上默认值,以后设计数据库要注意这一点,方便程序的移植
管理mysql数据严格模式
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。