mysql
chaffererdog
这个作者很懒,什么都没留下…
展开
-
TP3.2关于sql的坑
1. 为啥使用getLastSql()打印最后一条sql是空的?原因:配置文件里DB_DEBUG是FLASE解决办法:改为TRUE2. 为啥使用getLastSql()打印的sql没有携带where条件或where条件里没有某个字段?原因:可能是框架开启了数据表字段缓存,where条件里的字段是新加的解决办法:删掉对应数据表的字段缓存文件由此问题得到的知识点:写法一:M('表名')->where('name=1')->find();写法二:M('表名')->where原创 2022-04-02 18:24:21 · 849 阅读 · 0 评论 -
php连接mysql
//连接数据库 $iccMysql = mysqli_connect($this->mysql_server_name,$this->mysql_username,$this->mysql_password,$this->mysql_database); //连接数据库错误提示 if (mysqli_connect_errno()) { throw new \Exception('连接数据库失败:...原创 2022-02-25 17:19:08 · 222 阅读 · 0 评论 -
mysql AES加密存储,解密读取
// 加密存储INSERT INTO log(title) VALUES(HEX(AES_ENCRYPT('这是要加密的内容','aeskey')));// 解密读取SELECT AES_DECRYPT(UNHEX(title),'aeskey') as title FROM log;原创 2022-02-10 15:44:45 · 1124 阅读 · 0 评论 -
mysql查询数据为json格式的字段时,取json数据的某一个属性值
// 其中json_column 是数据格式为json的字段,id是要取值的属性名select json_column ->> '$.id' from tableName where json_column != '' and json_column is not null;原创 2022-01-24 18:36:03 · 1725 阅读 · 0 评论 -
Error while sending STMT_PREPARE packet. PID=29294
报错场景是,使用TP6的command命令 + linux的nohup 执行持续脚本。错误原因:长时间连接数据库会断线详细错误信息如下[think\exception\ErrorException] Error while sending STMT_PREPARE packet. PID=29294 PHP Fatal error: Unc.原创 2021-12-22 11:10:00 · 1270 阅读 · 0 评论 -
Mysql一对多关系leftjoin导致sum数据翻倍的解决方案
案例:数据表:群表(team)和 群标签关系表 (team_tag_relation)关系:一个群对应多个标签team表中有群人数字段,当leftjoin群标签关系表时,如果某个群拥有3个标签,则该群的数据会出现3次,导致进行sum(群人数)会sum多次,即群人数会翻3倍,造成数据错误。解决方案:避免直接将两个表进行leftjoin先处理群标签关系表(team_tag_relation),将多条数据聚合为一条,sql如下:select team_id, GROUP_CONCAT(t原创 2021-05-25 15:47:19 · 8974 阅读 · 2 评论 -
malformed utf-8 characters, possibly incorrectly encoded
环境:TP框架,PHPStorm编译器解决方案:百度上有说是因为数据库编码配置问题,有说是字段问题,也有说是redis问题。但解决方式是更改系统语言设置,操作如下:一、二、三、四、五、参考链接:https://blog.csdn.net/qq_36025814/article/details/103439186/...原创 2021-05-20 15:09:46 · 361 阅读 · 0 评论 -
查看数据库所有索引
myself_database_name为数据库名称select TABLE_NAME, INDEX_NAME, GROUP_CONCAT(COLUMN_NAME) as INDEX_COLUMNfrominformation_schema.statisticswheretable_schema='myself_database_name' and INDEX_NAME <> 'PRIMARY'and NON_UNIQUE = 1GROUP BY TABLE_NAME, INDE原创 2021-05-11 12:08:15 · 2529 阅读 · 0 评论 -
mysql模糊查询表里的json格式的数据
mysql里查询 json 数据1.mysql里有个字段存储的是json格式的数据,2.现在需要从页面传递参数到php再进行搜索匹配关键字,3.将关键字页json_encode后,去like匹配这个字段,匹配不到解决方案:1.只针对中文搜索,存的数据一样是json,josn里面的中文一般是unicode编码的,将关键字编码一下.2.在mysql里,“" 是需要转义的。两种解决办法:a)因此使用”\”来查询,数据依然是空。(mysql斜杆转义之后,会去转义别的字符,所有要得到斜杆,需要在加一个斜原创 2021-04-26 19:01:25 · 413 阅读 · 0 评论 -
MYSQL按周,天,月分组查询
按周分组查询查询,得到的是202115,代表2021年第15周select DATE_FORMAT(create_time,'%Y%u') weeks from testgroup by weeks;按月分组查询查询,得到的是202104,代表2021年4月select DATE_FORMAT(create_time,'%Y%m') monthsfrom testgroup by months;参考下面博客:https://blog.csdn.net/songan1122/原创 2021-04-16 19:42:54 · 369 阅读 · 0 评论 -
Error while sending STMT_PREPARE packet. PID=18017
这个问题是本人在本地环境(WAMP)循环800+条数据时,循环内部调用第三方接口获取数据,然后拼接为二维数组(800+个子元素),然后统一插入insertAll时,执行insertAll语句时mysql出现的报错然后查到这位老哥的博客https://blog.csdn.net/weng_xianhu/article/details/95250472这个报错是长时间连接数据库会断线,导致这个原因有多种可能,最有可能是:1、大批量对数据库增删改;2、增删改是因服务器卡;3、其他可能性,未知;原创 2021-04-15 17:36:46 · 539 阅读 · 0 评论 -
Mysql根据日期进行数据统计,当天无数据则显示为0
参考这位大哥的博客自己整理了一遍,方便后续查看: https://blog.csdn.net/guoqing2016/article/details/91038162该方式可查询7天、30天等任意时间段的数据,前提要保证依赖的数据表(本文示例的是test,可为其他任意表)数据量足够大,结合一些后端代码逻辑方可实现业务要求SELECT @date := DATE_ADD(@date, INTERVAL + 1 DAY) daysFROM ( SELECT @date := DATE_A.原创 2021-04-14 18:25:39 · 4487 阅读 · 1 评论 -
Mysql关闭严格模式
1.永久变更sql_mode在mysql.ini / my.cnf文件中添加下列代码[mysqld]sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'、、、、、、、、、、、、、、、2.临时变更,关闭数据库后重新打开会失效数据库中查看sql_modeselect @@sql_mode数原创 2021-04-08 20:25:12 · 1829 阅读 · 0 评论