mysqlworkbench 执行update语句报错:You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column

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 Editor and reconnect

解决办法1:

其实错误提示中已经给出了解决办法了

关闭安全模式:

Edit --> Preferences --> SQL Editors-->取消沟选 Safe Updates 先项

别忘记重启MysqlWorkbench,重启之后就可以正常执行更新语句了

解决办法2:
参考:https://blog.csdn.net/sanpic/article/details/79879408

可以通过以下SQL进行状态查询



showvariables like ‘sql_safe%‘;

解决方案:

  1. 执行SQL:
    set sql_safe_updates=0;
    或
    set sql_safe_updates=off;



原文地址:https://www.cnblogs.com/kaerxifa/p/11049888.html

时间: 2024-11-09 09:37:09

mysqlworkbench 执行update语句报错:You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column的相关文章

执行mysql语句报错 Illegal mix of collations……

Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8mb4_general_ci,COERCIBLE) for operation 在数据库执行查找的命令,判断条件含有特殊字符,再执行的时候报了以上错误: 查看字段编码发现是 latin1 字符集的latin1_german1_ci排序规则 修改数据库字段为utf-8编码  再次执行 顺利出现结果 原文地址:https://www.cnblogs.com/yaradish

sql无效字符 执行sql语句报错解决方案

以为是sql中参数赋值有问题,但是将sql语句直接copy到PLSQL中执行,却没问题,纠结了好久,原来是 insert语句多了:唉,坑爹 http://www.jb51.net/article/32081.htm 原文地址:https://www.cnblogs.com/feifeicui/p/8907851.html

mysql执行update语句时报错:Data truncation: Truncated incorrect DOUBLE value: 'null'

出现这个问题的原因网上有说是update的参数连接符要用,而不是and,但是我遇到的不是这个. 我出现问题的原因是,在update语句的where中varchar类型的字段我直接用了数字类型 update address set province = '北京' where userId = 250; userId是varchar类型的,报错Data truncation: Truncated incorrect DOUBLE value: 'null' 改成这样就可以了 update addre

SQL Server中事务transaction如果没写在try catch中,就算中间语句报错还是会提交

假如我们数据库中有两张表Person和Book Person表: CREATE TABLE [dbo].[Person]( [ID] [int] IDENTITY(1,1) NOT NULL, [Code] [nvarchar](50) NULL, [Name] [nvarchar](50) NULL, [CreateTime] [datetime] NULL, [UpdateTime] [datetime] NULL, CONSTRAINT [PK_Person] PRIMARY KEY CL

mysql执行SQL语句时报错:[Err] 3 - Error writing file '/tmp/MYP0G1B8' (Errcode: 28 - No space left on device)

问题描述: 今天一同事在mysql中执行SQL语句的时候,报了/tmp空间不足的问题,报错如下: [SQL] SELECT f.prov as 字段1, MAX( CASE f.flag_name WHEN '字段1' THEN f.num ELSE 0 END ) AS '字段1', MAX( CASE f.flag_name WHEN '店员量' THEN f.num ELSE 0 END ) AS '字段1', MAX( CASE f.flag_name WHEN '字段1' THEN f

SQL语句报错:Incorrect string value: '\xE9\x98\xBF\xE6\x96\xAF...'

很明显是编码的问题.检查了一下$conn->query("set names utf8");已经加在代码里了.那莫非是数据库编码不是utf8? 看了一下 还真不是 于是右键要修改的表,点击alter table,做了如下修改. 不报任何期望的重启了服务器又试了一次 果然还是那个错.... 这种场面我见多了,早就看淡了.所以接着排查问题. 发现在SQL语句复制到数据库执行也是这个亚子,中文用命令添加完全不行,但是手动添加却是正常的: 听网上的把编码改成utf8mb4依然不行 然后!

客户端cmd打开mysql,执行插入中文报错或插入中文乱码解决方案

最近在制作一个安装包,需要安装的时候执行mysql脚本儿,做了一个批处理,但是发现总是执行到 插入中文的时候报错,或者插入中文是乱码. 网上查了好多资料,说是把编码改成GBK什么的,终究还是不成功. 最后经过多次测试,现把解决方案分享给大家. 第一步:打开mysql中的配置文件,my.ini,看一看配置文件中 [mysql] default-character-set=utf8 [mysqld] character-set-server=utf8 看是不是这样配置的.因为utf8 是国际通用的,

执行shell脚本报错 '\357\273\277': command not found 解决办法

1,删除BOM,在vi下面执行下面的命令即可 :set nobomb 2,原因: 所谓BOM,全称是Byte Order Mark,它是一个Unicode字符,通常出现在文本的开头,用来标识字节序(Big/Little Endian),除此以外还可以标识编码(UTF-8/16/32) 对于UTF-8/16/32而言,它们名字中的8/16/32指的是编码单位是多少位的,也就是说,它们的编码单位分别是8/16/32位,换算成字节就是1/2/4字节,如果是多字节,就要牵扯到字节序,UTF-8以单字节为

Sphinx/Coreseek 4.1 执行 buildconf.sh 报错,无法生成configure文件

参考的网址: http://blog.csdn.net/jcjc918/article/details/39032689 错误现象: 执行 buildconf.sh 报错,无法生成configure文件 报错的代码 automake: warnings are treated as errors /usr/share/automake-1.13/am/library.am: warning: 'libstemmer.a': linking libraries using a non-POSIX