MYSQL安全模式SQL语法需要注意的地方
MYSQL安全模式
Mysql版本:5.7.
背景:
为了避免在执行delete、update将全表数据清空或者覆盖修改,在新项目营销云中开启了mysql的安全模式。
安全模式要求不能对非主键的条件查询做update和delete操作
SET global SQL_SAFE_UPDATES = ;
开启后出现的报错:
在修改跟删除数据时候,没有加where语句、或者加了where语句 where中没有使用索引列,导致SQL执行失败,后台项目报错,报错内容:
[Err] - You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column 规则:
索引不能使用唯一索引,使用唯一索引会报错 如果设置了sql_safe_updates=,那么update语句必须满足如下条件之一才能执行成功
)使用where子句,并且where子句中列必须包含索引列 反面教材:
update mkc_com_project set name='asdasd' where name='五4545'; )使用limit
)同时使用where子句和limit(此时where子句中列可以不是索引列) delete语句必须满足如下条件之一才能执行成功
)使用where子句,并且where子句中列必须包含索引列(除唯一索引)
反面教材:
delete from mkc_com_project where id= ; )同时使用where子句和limit(此时where子句中列可以不是索引列)
MYSQL安全模式SQL语法需要注意的地方的更多相关文章
- sql点滴41—mysql常见sql语法
原文:sql点滴41-mysql常见sql语法 ALTER TABLE:添加,修改,删除表的列,约束等表的定义. 查看列:desc 表名; 修改表名:alter table t_book rename ...
- 总结MySQL中SQL语法的使用
--where子句操作符: where子句操作符 = 等于 <> 不等于(标准语法) != 不等于(非标准语法,可移植性差) < 小于 <= 小于等于 > 大于 > ...
- 【MySQL】SQL语法,between and 使用注意事项
业务代码中有条查询学生姓名的sql: select stu_name from stu_info where stu_id between id_1 and id_2; 估计当时一时恍惚,拼接sql时 ...
- mysql 基础sql语法总结(一)DDL
mysql数据库: SQL数据库语言可分为四部分: 1.DDL:对数据库或表的进行操作结构操作 2.DML:对表的记录进行更新(增.删.改)* 3.DQL:对表的内容进行查询 **(重难点) 4.DC ...
- 记录一下MYSQL的SQL语法
这是加时间的语法 update mylog set mydate= DATE_ADD( mydate, INTERVAL 13 HOUR) WHERE mydate BETWEEN '2014-0 ...
- mysql 基础sql语法总结 (二)DML
二.DML(增.删.改) 1)插入数据 第一种写法:INSERT INTO 表名 (列名1,列名2,,......)VALUES(列值1,列值2,......) 第二种写法:INSERT INTO 表 ...
- mysql常用sql语法
一.创建主键的三种方式 1. CREATE TABLE user( uid INT PRIMARY KEY, uname VARCHAR(10), address VARCHAR(20) ) 2. C ...
- mysql中SQL执行过程详解与用于预处理语句的SQL语法
mysql中SQL执行过程详解 客户端发送一条查询给服务器: 服务器先检查查询缓存,如果命中了缓存,则立刻返回存储在缓存中的结果.否则进入下一阶段. 服务器段进行SQL解析.预处理,在优化器生成对应的 ...
- [转]MySQL 最基本的SQL语法/语句
MySQL 最基本的SQL语法/语句,使用mysql的朋友可以参考下. DDL-数据定义语言(Create,Alter,Drop,DECLARE) DML-数据操纵语言(Select,Delete ...
随机推荐
- tensorflow搭建神经网络
最简单的神经网络 import tensorflow as tf import numpy as np import matplotlib.pyplot as plt date = np.linspa ...
- 【VS开发】内存映射文件3
内存映射文件 内存映射文件,是由一个文件到一块内存的映射.Win32提供了允许应用程序把文件映射到一个进程的函数 (CreateFileMapping).内存映射文件与虚拟内存有些类似,通过内存映射文 ...
- c++ hex string array 转换 串口常用
c++ hex string array 转换 效果如下 tset string is follow 0x50 55 0x35 00 10 203040506073031323334ff format ...
- C语言控制台软件制作
本题要求你写个程序把给定的符号打印成沙漏的形状.例如给定17个“*”,要求按下列格式打印 ***** *** * *** ***** 所谓“沙漏形状”,是指每行输出奇数个符号:各行符号中心对齐:相邻两 ...
- dockerfile 搭建nginx镜像
昨晚看了看dockerfile的内容,想自己玩一玩.折腾了一晚上,到今天才顺利构建出来(弱鸡如我~). 首先,我新建了一个文件夹,并且放进了nginx源码包,建立了一个Dockerfile. Do ...
- 【AI】【人工智能】【计算机】人工智能工程技术人员等职业信息公示
人社厅发[2019]48号 各省.自治区.直辖市及新疆生产建设兵团人力资源社会保障厅(局).市场监管局.统计局,国务院各部门.各直属机构.各中央企业.有关社会组织人事劳动保障工作机构,中央军委政治工作 ...
- HDU-6170 Two strings
http://acm.hdu.edu.cn/showproblem.php?pid=6170 . 匹配任意字符,x* 匹配任意长度的 x (x 为任意字符,长度可以为 0 ) 正则表达式 #inclu ...
- LeetCode 答案(python)1-17
1.给定一个整数数组和一个目标值,找出数组中和为目标值的两个数. 你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用. 示例: 给定 nums = [2, 7, 11, 15], targe ...
- 【广搜】Knight Moves
题目描述 Mr Somurolov, fabulous chess-gamer indeed, asserts that no one else but him can move knights fr ...
- 第一讲,DOS头文件格式
今天讲解PE文件格式的DOS头文件格式 首先我们要理解,什么是文件格式,我们常说的EXE可执行程序,就是一个文件格式,那么我们要了解它里面到底存了什么内容 简短的说明. 我们要知道,PE文件格式,是微 ...