今天删除MySQL数据库中的一条记录的时候,一直不能删除,提示错误信息如下:

  1. Error Code: 1175. You are using safe update mode and you tried to update a table without a WHERE that
  1. uses a KEY column To disable safe mode, toggle the option in Preferences -> SQL Editor -> Query Editor and reconnect.

后来通过搜索资料,发现mysql有个叫SQL_SAFE_UPDATES的变量,为了数据库更新操作的安全性,此值默认为1,所以才会出现更新失败的情况。

下面是SQL_SAFE_UPDATES变量为0和1时的取值说明:

SQL_SAFE_UPDATES有两个取值0和1,

SQL_SAFE_UPDATES = 1时,不带where和limit条件的update和delete操作语句是无法执行的,即使是有where和limit条件但不带key column的update和delete也不能执行。

SQL_SAFE_UPDATES = 0时,update和delete操作将会顺利执行。那么很显然,此变量的默认值是1。

所以,出现1175错误的时候,可以先设置SQL_SAFE_UPDATES的值为0,然后再执行更新,例如:

SQL_SAFE_UPDATES = 0;

delete from testTable where name='张三';

3. 总结

  1. 如果设置了sql_safe_updates=1,那么update语句必须满足如下条件之一才能执行成功

    1)使用where子句,并且where子句中列必须为prefix索引列

    2)使用limit

    3)同时使用where子句和limit(此时where子句中列可以不是索引列)

  delete语句必须满足如下条件之一才能执行成功

    1)使用where子句,并且where子句中列必须为prefix索引列

    2)同时使用where子句和limit(此时where子句中列可以不是索引列)

MySQL删除/更新数据时报1175错误的更多相关文章

  1. MySQL删除更新数据时报1175错误的问题

    今天删除mysql数据库中的一条记录的时候,一直不能删除,提示错误信息如下: Error Code: 1175. You are using safe update mode and you trie ...

  2. mysql 插入/更新数据

    mysql 插入/更新数据 INSERT 语句 1.一次性列出全部字段的值,例如: INSERT INTO student VALUES('Chenqi','M', 29); INSERT INTO ...

  3. SQL server 存储过程 C#调用Windows CMD命令并返回输出结果 Mysql删除重复数据保留最小的id C# 取字符串中间文本 取字符串左边 取字符串右边 C# JSON格式数据高级用法

    create proc insertLog@Title nvarchar(50),@Contents nvarchar(max),@UserId int,@CreateTime datetimeasi ...

  4. 如何实现MySQL随机查询数据与MySQL随机更新数据?

    以下的文章主要介绍的是MySQL随机选取数据,对实现MySQ随机查询数据与MySQ随机更新数据的实际操作步骤的描述,以及对其实际操作中所要用到的语句的描述,以下就是对其具体操作步骤的描述. MySQL ...

  5. MySQL 导入外部数据时报错:1153: Got a packet bigger than 'max_allowed_packet' 解决方案

    MySQL 导入外部数据时报错:1153: Got a packet bigger than 'max_allowed_packet' 解决方案 zoerywzhou@163.com http://w ...

  6. mysql删除重复数据只保留一条

    mysql删除重复数据只保留一条 新建一张测试表: CREATE TABLE `book` ( `id` char(32) NOT NULL DEFAULT '', `name` varchar(10 ...

  7. mysql 删除重复数据,并保存最新一条数据

    删除重复行 DELETE FROM ecm_member_login_session WHERE (number , client_code) IN ( ) AND update_time NOT I ...

  8. mysql 删除重复数据保留一条

    验证:mysql 5.6版本 方法一: delete a from table a left join( select (id) from table group by studentName,cla ...

  9. MYSQL删除重复数据

     delete from co_jobinformation cwhere c.name in (select cc.name from co_jobinformation cc group by   ...

随机推荐

  1. TCMalloc 对MYSQL 性能 优化的分析

    虽然经过研究发现TCMalloc不适合我们现有的游戏框架,但意外收获发现TCMalloc可以大幅度提高MYSQL 性能及内存占用,这里给出配置及测试的结果: 1.配置 关于TCMalloc的安装,在& ...

  2. BZOJ2429[HAOI2006]聪明的猴子[最小生成树 kruskal]

    2429: [HAOI2006]聪明的猴子 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 896  Solved: 575[Submit][Statu ...

  3. 树网的核[树 floyd]

    描述 设T=(V, E, W) 是一个无圈且连通的无向图(也称为无根树),每条边到有正整数的权,我们称T为树网(treebetwork),其中V,E分别表示结点与边的集合,W表示各边长度的集合,并设T ...

  4. JAVA面向对象之一

    一.面向过程的思想和面向对象的思想 面向对象和面向过程的思想有着本质上的区别, 作为面向对象的思维来说,当你拿到一个问题时,你分析这个问题不再是第一步先做什么,第二步再做什么,这是面向过程的思维,你应 ...

  5. 2016年秋季的我,work with hololens

  6. Flex编译程序出现 Could not find compiled resource bundle 'SharedResources' for locale 'en_US'.

    Flex编译程序出现 Could not find compiled resource bundle 'SharedResources' for locale 'en_US'. 而且静态类居然为nul ...

  7. 多个mysql解决方法

    有的时候工作需要之类的,需要多个mysql数据库,而默认开启的服务为c盘windows里的my.ini 1.设置好要用的my.ini2.关闭当前的mysql数据库服务3.将my.ini拷贝到C:\WI ...

  8. Font Awesome使用指南

    Font Awesome介绍 Font Awesome是一款很流行的字体图标工具.随着Bootstrap的流行而逐渐被人所认识,现在FontAwesome不仅仅可以在bt上使用,还可以应用在各种web ...

  9. JVM的垃圾回收机制详解和调优

    JVM的垃圾回收机制详解和调优 gc即垃圾收集机制是指jvm用于释放那些不再使用的对象所占用的内存.java语言并不要求jvm有gc,也没有规定gc如何工作.不过常用的jvm都有gc,而且大多数gc都 ...

  10. centos7下彻底卸载LibreOffice方法【转载】

    http://linux.it.net.cn/CentOS/course/2014/0720/3211.html你可以尝试 yum erase libreoffice\* 或者 yum remove ...