今天遇到一个有意思的小问题,一同事有这样一个需求:在更新表T时,如果只是更新字段C,那么不希望触发该该表的触发器去处理业务逻辑.即想在触发器中做出判断:如果更新了字段C,那么跳出触发器,不处理业务逻辑,如果是更新其它字段,那么让触发器去处理业务逻辑. 他是这样做的 1: if :NEW.C != :OLD.C then 2: return; 3: end if; 但是这样有一个问题:更新不一定值有变化.当更新的值有变化时,它很好的实现了业务逻辑,但是如果更新的值没有变化,那
文章出处:mysql判断一个字符串是否包含某子串 使用locate(substr,str)函数,如果包含,返回>0的数,否则返回0 例子:判断site表中的url是否包含'http://'子串,如果不包含则拼接在url字符串开头 update site set url =concat('http://',url) where locate('http://',url)=0 注意MySQL中字符串的拼接不能使用加号+,用concat函数
mysql判断是否包含某个字符的方法用locate 是最快的,like 最慢.position一般实战例子:select * from historydatawhere locate('0',opennum) and locate('1',opennum)order by number desc limit 10; 方法一:locate(字符,字段名)使用locate(字符,字段名)函数,如果包含,返回>0的数,否则返回0 , 它的别名是 position inselect * from 表名
MySQL 判断数据库和数据表是否存在 如何使用SQL查询语句,判断数据库和数据表是否存在? 1.判断数据库是否存在 查询SQL如下: select * from information_schema.SCHEMATA where SCHEMA_NAME = '需要查找的数据库名'; 也可以模糊查询,SQL如下: select * from information_schema.SCHEMATA where SCHEMA_NAME like '%需要查询的数据库名的部分名称%'; 2.判断数据表