亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

Mysql 報錯 ERROR 1175 - SQL_SAFE_UPDATES

標簽:
MySQL

摘要

Mysql 报错 ERROR 1175, 是因为启动的时候开启了安全更新模式导致的
报错信息如下

ERROR 1175 (HY000): You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column

SQL_SAFE_UPDATES

这个报错是因为在更新表的时候where条件中没有到没有含有KEY的列导致的

另外更新的时候没有where条件也会报类似的错误

[email protected] : auditAdmin 16:54:10> create table lc_temp(id int,name varchar(20)) ;Query OK, 0 rows affected (0.03 sec)[email protected] : auditAdmin 16:54:23> update lc_temp set name='james';ERROR 1175 (HY000): You are using safe update mode and you tried to update a table without a WHERE that uses a KEY [email protected] : auditAdmin 16:54:32>

注意开头提示的“你在使用安全更新模式”,参考Mysql官网,在启动mysql的时候使用"安全更新模式 --safe-updates"相当于设置了如下命令SET sql_safe_updates=1, sql_select_limit=1000, max_join_size=1000000;


附加

这里说明下sql_select_limit参数,为了防止出现不带where条件的全表查询导致资源浪费。如果表中的记录大于1000条的时候,只显示1000条记录

有两种方式解决

## modify sql_safe_updatesset sql_safe_updates=0;set sql_safe_updates=off;## limit select username from userinfo limit 10001;

当报错的时候检查,这个变量是开启的状态

[email protected] : (none) 16:42:44> show variables like '%SQL_SAFE_UPDATES%';
+------------------+-------+| Variable_name    | Value |
+------------------+-------+
| sql_safe_updates | ON    |+------------------+-------+1 row in set (0.00 sec)

修改为OFF或者0

SET sql_safe_updates = 0;
SET sql_safe_updates = OFF;

再去执行update,就没有问题

Refer to mysql-tips



作者:全栈运维
链接:https://www.jianshu.com/p/9b8125c87519

點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消