mysql 更新 语句中 的 safe_mode】的更多相关文章

在mysql5中,可以设置safe mode,比如在一个更新语句中UPDATE table_name SET bDeleted=0;执行时会错误,报:You are using safe update mode and you tried to update a table without a WHERE clause that uses a KEY column.”  原因是在safe mode下,要强制安全点,update只能跟where了,要取消这个限制,可以:    SET SQL_SA…
UPDATE loan_overdue_list l setl.type_status=(CASE WHEN l.overdue_days>(select c.overdue_one from loan_config c where c.gems_fs_id=l.gems_fs_id) THEN 11 WHEN l.overdue_days>(select c.overdue_two from loan_config c where c.gems_fs_id=l.gems_fs_id) THE…
项目中和前端联调的时候,发现Mysql查询语句中字符型字段值过滤是不区分大小写的,之前没有关注过这个设置,特意去网上看了下,原因是Mysql中“COLLATE”属性区分大小写,而该属性默认值为“utf8_general_ci”,这个值表示是不区分大小写的.现将解决方法记录如下: 1.设置“COLLATE”属性值为“utf8_bin”或者“utf8_gerneral_cs”,utf8_bin表示二进制比较,同时也支持区分大小写:在Mysql5.6.10版本中,不支持utf8_genral_cs:…
流程图 这是在网上找到的一张流程图,写的比较好,大家可以先看图,然后看详细阅读下面的各个步骤. 执行流程: 1.连接验证及解析 客户端与MySQL Server建立连接,发送语句给MySQL Server,接收到后会针对这条语句创建一个解析树,然后进行优化,(解析器知道语句是要执行什么,会评估使用各种索引的代价,然后去使用索引,以及调节表的连接顺序)然后调用innodb引擎的接口来执行语句. 2.写undo log innodb 引擎首先开启事务,对旧数据生成一个UPDATE的语句(如果是INS…
在mysql中,经常会遇到这样的情况,在写条件语句where时,可能会同时有多个条件的“或”或者“与”,但经常会达不到效果,经百度,本人发现一个where语句中同时出现条件的“与”或者“或的时候”,要将多个OR用小括号括起来再和AND进行“与”,或者将多个AND用小括号括起来再与OR进行“或”. eg.    select * from table from id=1 or id=2 and price>=10; 这条语句默认执行的是id=2并且price大于等于10的,或者是id=1. 如果加…
前言 之所以写这篇文章,是源于以前看过的关于sql语句优化的帖子,里面明确提到了在sql语句中不要使用 * 来做查询,就像下面的规则中说的 2.尽量避免使用select *,返回无用的字段会降低查询效率.如下: SELECT * FROM t 优化方式:使用具体的字段代替*,只返回使用到的字段. 但是中国有句姥话叫“尽信书不如无书”,难道在sql查询语句中使用星号就真的慢的要死,难道加索引也不行?带着这些个疑问,我进行了一些测试.结果发现,江湖传说未必真的靠得住.那具体测试情况是咋样的呢?下面且…
在mysql的SELECT语句中拼接两列(或多列)的字符串显示: mysql> select concat(dname,loc) from dept; 以上语句便把dept表的dname,loc两列属性合并在一起显示,结果如下: 也可以把手动输入的字符串拼接在一起,如: mysql> select concat(dname,loc,’aaaa') from dept; 结果如下: 如果字符串中含有单引号'时,则可以输入两个单引号来解决: mysql> select concat(dnam…
您可以使用CHANGE old_col_namecolumn_definition子句对列进行重命名.重命名时,需给定旧的和新的列名称和列当前的类型.例如:要把一个INTEGER列的名称从a变更到b,您需要如下操作: ·                mysql> ALTER TABLE t1 CHANGE a b INTEGER; 如果您想要更改列的类型而不是名称, CHANGE语法仍然要求旧的和新的列名称,即使旧的和新的列名称是一样的.例如: mysql> ALTER TABLE t1 C…
DATE_ADD和DATE_SUB函数可以用INTERVAL关键字标识的时间间隔进行加减操作,类似于PHP中的strtotime函数. 1.更新表中有效期valid_time字段值都增加一天 UPDATE cqh_activity SET valid_time=DATE_ADD(valid_time,INTERVAL 1 DAY); 2.更新表中有效期valid_time字段值都减少一天 UPDATE cqh_activity SET valid_time=DATE_SUB(valid_time…
1.常见用法: (1)搭配%使用 %代表一个或多个字符的通配符,譬如查询字段name中以大开头的数据: (2)搭配_使用 _代表仅仅一个字符的通配符,把上面那条查询语句中的%改为_,会发现只能查询出一条数据. 2.使用like模糊查询会导致索引失效,在数据量大的时候会有性能问题 (1)尽量少以%或者_开头进行模糊查询 通过explain执行计划,我们发现,使用like模糊查询时,如果不以%和_开头查询的话,索引还是有效e68a84e799bee5baa6e997aee7ad94313333663…