mysql update safe model 一些问题

在做数据库实验的时候对mysql表进行UPDATE操作时,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有个叫SQL_SAFE_UPDATES的变量。查了好久,全部中文结果都是copy来copy去的,而且也只是简单给出解决方式。后来找到老外网,上面这么说:MySQL will refuse to run the UPDATE or DELETE query if executed without the WHERE clause or LIMIT clause. MySQL will also refuse the query which have WHERE clause but there is no condition with the KEY column(自己翻译吧)。但是还是不知道这个update safe model是干嘛用的,只能简单猜测:为了数据的安全。

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。如图改完后update操作顺利完成:set SQL_SAFE_UPDATES = 0 



转载于:https://my.oschina.net/cnlw/blog/56290

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值