->update([
'status' => Db::raw('`status`*(-1)'),
//status值为1和-1,代表相反的状态,建议判断当前状态,避免两人同时操作时状态无改变
]);
$groups['rules']='1,3,5,7,9';
//有漏洞,比如权限值为2,权限组中有21会判断有2的权限:
->field('instr(\''.$groups['rules'].'\',number) as ischecked')
//应改成FIND_IN_SET();
->field('FIND_IN_SET(number,\''.$groups['rules'].'\') as ischecked')
参考链接:mysql中find_in_set()函数的使用--https://www.cnblogs.com/xiaoxi/p/5889486.html。
->field('if(p.status=0,"否","是") as status,from_unixtime(p.create_time) as time');
->field(',CASE WHEN sid in (1,2) THEN \'优秀\' WHEN sid in (3,4) THEN \'一般\' ELSE \'较差\' END status'); //在此语句中,status相当于as 出来一个新字段,原数据表没有
参考链接:MySQL函数大全及用法示例 https://www.cnblogs.com/xuyulin/p/5468102.html
从左开始截取字符串left(str, length);
从右开始截取字符串right(str, length);
截取字符串substring(str, pos, length),说明:substring(被截取字段,从第几位开始截取,截取长度);
按关键字截取字符串substring_index(str,delim,count),说明:substring_index(被截取字段,关键字,关键字出现的次数)。
->join('city c','substring_index(substring_index(area,\',\',2),\',\',-1)=c.c_id')
参考链接:https://zhidao.baidu.com/question/1757749164112887508.html
1、先登入你的Navicat for mysql中,新建查询,在查询编辑器内执行命令:
Select CONCAT('ALTER TABLE ', table_name, ' RENAME TO ', table_name,';' )
FROM information_schema.tables
Where table_name LIKE 'wp_%';
得到多条结果,如:
ALTER TABLE table_name RENAME TO table_name;
2、复制上面的结果到记事本,将TO table_批量替换成TO new_
3、再复制记事本的内容,粘帖到查询编辑器内,执行命令即可。
参考链接:https://blog.csdn.net/forest_fire/article/details/50944231
1、先登入你的Navicat for mysql中,新建查询,在查询编辑器内执行命令:
select group_concat(COLUMN_NAME) from information_schema.COLUMNS where table_name = '表名';
亲测有效,不过似乎是双份的,如果是工资就好了。
参考链接:https://blog.csdn.net/superit401/article/details/69938983
1、示例,清除(替换为空)掉数据表中混杂的换行符回车符:
UPDATE .`test` SET `code` = REPLACE(`code`,'\r\n','') WHERE `code` LIKE '%\r\n%';
参考链接:https://blog.csdn.net/qq_14997169/article/details/53241395
亲测有效。
如此文章对你有帮助,请打开支付宝搜索535149388,领取马云的红包,使用余额宝消费可抵扣,大家好,才是真的好。