MySQL、You are using safe update mode

MySQL默认模式是sql_safe_updates=1的。在这个模式下不管你是update还是delete一行where 条件都要指定主键。如果where条件只出现的不是主键就会出错。

例子:

  set sql_safe_updates =1;--开始安全更新、这个是我这个例子的前提。

  --第一步:建立两个表

  create table t(x int,y int);

  create table t2(x int primary key,y int);

  --第二步:向表中插入数据

  insert into t(x,y) values(1,1),(2,2),(3,3);

  insert into t2(x,y) values(1,1),(2,2),(3,3);

  --第三步:测试安全更新模式对update delete 的影响。

  update t set y =100 where x=1;--这个会出报错、You are using safe update mode......

  update t2 set y=100 where x=1;--这个就没有事。因为x这表t2中是主键、而在表t中不是。

  --解决方案:

  为了对t表的更新也可以完成、我们就要在update 语句前加上一句。

  set sql_safe_updates =0;--禁用这个模式就可以了。

时间: 2024-11-05 18:46:05

MySQL、You are using safe update mode的相关文章

mysql错误:Error Code: 1175. You are using safe update mode and you tried to update a table……

今天遇到一个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. 网上查了一下,原来是SET SQL_SAFE_UPDATES

mysql错误:ERROR 1175: You are using safe update mode 解决方法

操作mysql数据库,删除表中的某一行数据提示如下错误:ERROR 1175 (HY000): You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column 错误提示:正在使用安全更新模式,尝试更新表没有使用键列的where条件: 原因是:mysql有个叫SQL_SAFE_UPDATES的变量,为了数据库更新操作的安全性,此值默认为1,所以才会出现更新失败

mysql update时报错You are using safe update mode

在使用mysql执行update的时候,如果不是用主键当where语句,会报如下错误,使用主键用于where语句中正常. update test.t_bids set product_id=1+floor(rand()*7) 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 m

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

今天用mysql workbench在更新数据的时候,出现了下面错误:15:52:39    update wp_posts set post_content = replace(post_content, '/water', '')    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 disabl

mysql更新字段值提示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

1 引言 当更新字段缺少where语句时,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 se

mysql update 报 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

UPDATE i18nresource SET languageId = 'en-us' 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. 

workbench中safe update

1.在workbench中表格显示为readonly ,更新时提示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. 这是由于MySQL Wo

Java学习-006-三种数据库连接 MySQL、Oracle、sqlserver

此文主要讲述在初学 Java 时,常用的三种数据库 MySQL.Oracle.sqlserver 连接的源代码整理.希望能对初学 Java 编程的亲们有所帮助.若有不足之处,敬请大神指正,不胜感激!源代码测试通过日期为:2015-1-31 10:46:48,请知悉. 所需的 jar 包下载链接为:http://yunpan.cn/cKEWbBntAjtKy  访问密码 bd58 以下为初学 Java 常用的三种数据库 MySQL.Oracle.sqlserver 连接的源代码,敬请参阅! MyS

上课笔记第二十九天、mysql、mysql编译安装及组成、客户端、变量和类型

1.关系型数据库基础理论及MySQL数据库基础架构           关系型数据的基础理论                    文件系统上:最初所有的数据都存储于文件中,每次读取文件时需要把所有的块数据都加载到内存中,通过工具grep查询需要的数据,如果文件比较大(100万行),这时加载会很慢而且占用资源比较大. 数据管理软件:                             层次模型.网状模型.关系模型.对象-关系模型.非关系模型                     DBMS: