管理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;
管理mysql数据严格模式,和安全模式处理的更多相关文章
- 管理mysql数据的两条sql tips
当从B表数据更新到A表时: update A inner join B on A.aid=B.aid set A.user_name=B.username,A.phone=B.telwhere A.a ...
- Django:(博客系统)使用使用mysql数据->后台管理tag/post/category的配置
Django后台一般是不需要人为的去开发的,因为django已经通过配置实现哪些模块是后台需要管理,如何排序,列表展示哪些列,列显示名称,是否为空(默认值),过滤条件,分页页数,列表中哪些项可编辑等等 ...
- MySQL的sql_mode模式 解决数据Incorrect DECIMAL value: ‘0’ for column ” at row -1问题
https://blog.csdn.net/weiwoyonzhe/article/details/85177294?depth_1-utm_source=distribute.pc_relevant ...
- 使用Solr索引MySQL数据
环境搭建 1.到apache下载solr,地址:http://mirrors.hust.edu.cn/apache/lucene/solr/ 2.解压到某个目录 3.cd into D:\Solr\s ...
- 设置MySQL数据表主键
设置MySQL数据表主键: 使用“primary key”关键字创建主键数据列.被设置为主键列不允许出现重复的值,很多情况下与“auto_increment”递增数字相结合.如下SQL语句所示: My ...
- Sqoop将mysql数据导入hbase的血与泪
Sqoop将mysql数据导入hbase的血与泪(整整搞了大半天) 版权声明:本文为yunshuxueyuan原创文章.如需转载请标明出处: https://my.oschina.net/yunsh ...
- MySQL数据行溢出的深入理解
一.从常见的报错说起 故事的开头我们先来看一个常见的sql报错信息: 相信对于这类报错大家一定遇到过很多次了,特别对于OMG这种已内容生产为主要工作核心的BG,在内容线的存储中,数据大一定是个绕不开的 ...
- 【实战】使用 Kettle 工具将 mysql 数据增量导入到 MongoDB 中
最近有一个将 mysql 数据导入到 MongoDB 中的需求,打算使用 Kettle 工具实现.本文章记录了数据导入从0到1的过程,最终实现了每秒钟快速导入约 1200 条数据.一起来看吧~ 一.K ...
- 冰河,能不能讲讲如何实现MySQL数据存储的无限扩容?
写在前面 随着互联网的高速发展,企业中沉淀的数据也越来越多,这就对数据存储层的扩展性要求越来越高.当今互联网企业中,大部分企业使用的是MySQL来存储关系型数据.如何实现MySQL数据存储层的高度可扩 ...
随机推荐
- 入口文件 index.php
一. 运行流程 The index.php serves as the front controller, initializing the base resources needed to run ...
- VS2017git 提交提示错误 Git failed with a fatal error.
具体错误信息:Git failed with a fatal error.error: open("ConsoleApp1/.vs/ConsoleApp1/v15/Server/sqlite ...
- Ubuntu镜像包版本差异
自接触Linux以来,一直使用ubuntu,下载ubuntu镜像的过程中,一个问题一直困扰我--desktop版镜像和server版镜像究竟有什么区别?难道就GUI有无的区别? 今天尝试解答这个问题. ...
- extjs 4 chart 时间轴格式的处理
var dayStore = Ext.create('Ext.data.JsonStore', { fields: [{ name: 'name', type: 'date', dateFormat: ...
- 从SQL Server到MySQL,近百亿数据量迁移实战
从SQL Server到MySQL,近百亿数据量迁移实战 狄敬超(3D) 2018-05-29 10:52:48 212 沪江成立于 2001 年,作为较早期的教育学习网站,当时技术选型范围并不大:J ...
- 当前,我们的DJANGO项目的requirements.txt文件
晒一晒,看用得多不多..:) amqp==1.4.7 anyjson==0.3.3 billiard==3.3.0.21 celery==3.1.19 celery-with-redis==3.0 c ...
- hdu_1031_Design T-Shirt_201310291647
Design T-Shirt Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) T ...
- kendo grid create
这种自定义的create中的函数,这个data的行为是在发送到后端之前执行的 //{ // url: "/admgr/AdUserAuthorityAdd", // dataTyp ...
- RPC框架分析
RPC框架分析 常用的框架 .net(WCF) .net中分布式框架集大成者,提供多种通信方式,多种安全策略的调用(配置繁琐). java 1.RMI JDK原生(严格的说来算不上框架). 2.Du ...
- Clojure:解决Selmer与AngularJS的 标签混淆问题
Selmer是Clojure的一个模板类库,下面是它的一个DEMO模板: <ul> {% for item in items %} <li>{{item}}</li> ...