mysql
每天都进步一点点
这个作者很懒,什么都没留下…
展开
-
mysql 分页数据异常出现重复数据 order by limit 混合使用的坑
比如 表数据: 第一页,查询3条数据 SELECT * FROM test ORDER BY sort asc LIMIT 0,3 查询结果: 第二页,查询3条数据 SELECT * FROM test ORDER BY sort asc LIMIT 3,3 结果:老张重复出现了 结论:order by的列有相同的值时,mysql会随机选取这些行 解决方案:再加上主键id排序,确保顺序问题 SELECT * FROM test ORDER BY sort asc,id asc LIMIT 0,3原创 2022-01-07 13:54:29 · 575 阅读 · 0 评论 -
mysql批量修改字段null值改为空字符串
UPDATE 表名 SET 字段名 = ( CASE WHEN IFNULL(字段名, '') = '' THEN '' ELSE 字段名 END ) WHERE 字段名 IS NULL;原创 2021-12-31 18:04:30 · 10479 阅读 · 0 评论 -
mysql无主键删除重复数据保留一条
例如a表: name mobile gong 188 gong 188 qing 166 qing 166 lin 155 lin 155 boy 133 无自增主键,去除重复保留一条,步骤: 1、导出a表结构,命名为b表 b表结构为: name mobile 2、查询a表去重复语句,再插入b表 insert into b (select distinct * from a); 执行语句,b表内容为: name mobile gon原创 2021-11-04 14:47:37 · 5825 阅读 · 1 评论 -
MySQL MyISAM 批量更改 InnoDB
运行以下sql语句,把运行结果复制出来运行一次就行 SELECT CONCAT('ALTER TABLE ',table_name,' ENGINE=InnoDB;') FROM information_schema.tables WHERE table_schema="你要操作的数据库名" AND ENGINE="MyISAM";原创 2021-08-09 17:22:17 · 921 阅读 · 0 评论 -
MySQL5.7报错问题 SELECT list is not in GROUP BY clause and contains nonaggregated column
MySQL5.7.5后默认启用了ONLY_FULL_GROUP_BY,这可能导致一些sql语句失效问题 解决方法1: 如果使用Navicat软件,执行查询语句: select @@global.sql_mode 把ONLY_FULL_GROUP_BY去掉,执行更新语句 set @@global.sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,原创 2020-12-10 17:25:29 · 3901 阅读 · 0 评论 -
MySQL条件 判断时间段不能出现重叠/重复
项目记录(判断时间段不能出现重叠的条件): // 判断时间段是否有重叠 $map = [ 'start_time|end_time' => ['between',[strtotime($_POST['start_time'])+1,strtotime($_POST['end_time'])-1]] ]; 条件注解:查询数据库已有数据的开始时间或结束时间,如果有在提交数据的开始时间和结束时间之间,则存在重叠,则提示错误“时间段不能与已有活动的时间重叠!” 能提交保存的: 开始时间 结束时间原创 2020-09-14 18:17:53 · 8102 阅读 · 0 评论 -
Host 'localhost' is not allowed to connect to this MySQL server
1、修改mysql的root密码后,出现Host ‘localhost’ is not allowed to connect to this MySQL server 错误。 2、突然发神经,就报这个错(我的就是这样) 解决办法: 找到mysql安装目录下的my.ini文件 在[mysqld]下加下面两行, skip-name-resolve skip-grant-tables 重启mysql的w...翻译 2018-10-11 09:22:48 · 1717 阅读 · 0 评论 -
mysql修改某个字段(替换关键字内容)
mysql修改某个字段(替换关键字内容),UPDATE 表名 SET 字段名= REPLACE( 替换前的字段值, '替换前关键字', '替换后关键字' ) WHERE 条件。 举例: update goods_table SET goods_name = REPLACE( goods_name, '2017', '2018' ) where goods_name like '%2017%...原创 2018-08-30 11:05:42 · 19204 阅读 · 0 评论 -
PHP导出数据库
把下面代码保存到php文件,配置数据库相关信息,运行一篇代码即可导出数据库到网站根目录<?php set_time_limit(0); header("Content-type:text/html;charset=utf-8"); //配置信息 $cfg_dbhost = '127.0.0.1'; $cfg_dbname = 'hunuo***qdshop'原创 2017-09-21 19:55:59 · 1781 阅读 · 0 评论 -
cmd 创建 删除 导入 导出 数据库 命令
create database zhongxi default character set utf8 collate utf8_general_ci原创 2015-09-08 17:30:53 · 1370 阅读 · 0 评论 -
mysql统计字段相同值数量
select proid,count(proid) from `db_name` group by proid having count(proid)>1 ORDER BY `db_name`.`proid` ASC翻译 2017-05-11 19:06:16 · 6185 阅读 · 0 评论 -
多个字段同时唯一
添加多个字段同时唯一:ALTER TABLE shop_activity_enro ADD CONSTRAINT goods_user_apply_status_unique UNIQUE (`goods_id`,`user_id`,`apply_id`,`pay_status`,`unique_num`) 删除多个字段唯一的设置ALTER TABLE `shop_activity_enro` DR翻译 2017-04-10 17:41:11 · 918 阅读 · 0 评论 -
输入值/表单提交参数过滤有效防止sql注入的方法
/** * 过滤sql与php文件操作的关键字 * @param string $string * @return string * @author zyb <zyb_icanplay@163.com> */ function filter_keyword( $string ) { $keyword = 'select|insert|update|delete|\'|\/\*|\*|\.\.转载 2016-01-14 16:54:41 · 2101 阅读 · 0 评论 -
导出数据库 php
public function get_sqlList(){ set_time_limit(0); header("Content-type:text/html;charset=utf-8"); //配置信息 $cfg_dbhost = 'localhost'; $cfg_dbname = 'dbname';翻译 2016-01-26 11:26:11 · 358 阅读 · 0 评论 -
mysql数据库中find_in_set()
FIND_IN_SET原创 2015-12-22 10:41:56 · 402 阅读 · 0 评论