管理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
在别人的虚拟空间上当然不可能实现,所以根本的解决方法还是修改自己的数据结构,把非空的字段加上默认值,以后设计数据库要注意这一点,方便程序的移植
安全模式处理
Error Code: 1175. You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column To disable safe mode, toggle the option in Preferences -> SQL Queries and reconnect. 0.000 sec
原因是你执行更新和删除语句没有使用主键条件作为条件
临时关闭数据库限制
执行命令SET SQL_SAFE_UPDATES = 0;修改下数据库模式
SET SQL_SAFE_UPDATES = 0
使用完之后关闭
如果想要提高数据库安全等级,可以在恢复回原有的设置,执行命令:SET SQL_SAFE_UPDATES = 1;
最新文章
- Coding编译连接过程中遇到的问题及解决方法(iOS)
- [计算机图形学] OpenGL读取obj文件并显示其3D效果
- Java多线程之新类库中的构件CountDownLatch
- jpa 支持(sql)JDBC标准语句
- Git入门简介
- React-Native ListView加载图片淡入淡出效果的组件
- 【POJ 1125】Stockbroker Grapevine
- EmbossMaskFilter BlurMaskFilter 学习
- 剑指offer 整数中1 出现的次数
- nodejs 教程
- Python logging 模块和使用经验
- java8完全解读一
- 初学Python——介绍一些内置方法
- Android 中查看内存的使用情况集常用adb命令
- appium+python自动化42-微信公众号 (可能以后会遇到也遇到切换不了webview的问题 记录再此 还没试)
- Java条形码插件
- nodejs addon/module
- 数据库实例: STOREBOOK >; 表空间 >; 编辑 表空间: UNDOTBS1
- UVA11653_Buses
- Ajax在jQuery中的应用---ajax()方法
热门文章
- HDU 2451 Simple Addition Expression(找规律,考验智商)
- 模板中tempname与class区别
- SGU180 Inversions(树状数组求逆序数)
- ionic使用cryptojs加密 复制到黏贴版 使用md5
- 00107_TCP通信
- 关于创建Android Library所须要知道的一切
- UI层自动化测试框架(一)-简介和环境搭建
- 【POJ 1201】 Intervals(差分约束系统)
- 传智播客C/C++学员荣膺微软&;amp;Cocos 2d-x黑客松最佳创新奖
- luogu1220 关路灯