mysql
flysnownet
这个作者很懒,什么都没留下…
展开
-
mysql时区错误设置查询周几
问题项目中根据周几FROM_UNIXTIME(date,’%w’)查询数据开发环境正常,测试环境错误,排查后发现测试服mysql时区不对->whereRaw("FROM_UNIXTIME(date,'%w') = ".$week)mysql查询周几select FROM_UNIXTIME(1629216000,'%w') weekmysql查看当前时区show variables like ‘%time_zone%’;Variable_nameValuesyste原创 2021-08-16 17:43:20 · 131 阅读 · 0 评论 -
MySQL判断时间段是否与已有时间重合冲突
描述向数据库中插入新的时间段前,需要判断是否跟库中已经有的时间段冲突,有的话拒绝插入冲突种类可能发生的冲突情况有以下四种,如图1.与已有时间前面部分重叠2.与已有时间后面部分重叠3.被已有时间包含4.包含了已有时间四种情况取并集就是所以冲突情况,1和2的并集就是4,不需要再算进条件里拼写SQLSELECT * FROM `sign_rule` WHERE ( `start_time` > $startTime AND `start_time` < $endTime )原创 2021-08-06 10:50:41 · 3627 阅读 · 1 评论 -
mysql按周几查询时间戳转周几星期
MySQL时间戳转周几星期时间戳转成周几使用FROM_UNIXTIMEselect FROM_UNIXTIME(1429063399,'%w')FROM_UNIXTIME常用时间格式%a 缩写星期名%b 缩写月名%c 月,数值%D 带有英文前缀的月中的天%d 月的天,数值(00-31)%e 月的天,数值(0-31)%f 微秒%H 小时 (00-23)%h 小时 (01-12)%I 小时 (01-12)%i 分钟,数值(00-59)%j 年的天 (001-366)%k 小时原创 2021-07-28 14:35:56 · 960 阅读 · 0 评论 -
mysql生成随机数
mysql生成随机数,设定指定字段随机数比如,设置num字段为1到100的随机数update aaa set num= floor(1 + rand()*100) where 1 = 1 ;上面rand 函数返回一个0到1之间的随机数原创 2021-07-26 17:41:19 · 2167 阅读 · 0 评论 -
thinkphp,mysql关联查询排除相同的数据,排除指定的数据
keyword:thinkphp,mysql关联查询联合查询排除相同的数据,排除指定的数据,排除重复另一张表数据如查询可以分配给当前用户的角色,要排除该用户已经拥有的角色表结构DROP TABLE IF EXISTS `role`;CREATE TABLE `role` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT 'id', `role_name` varchar(50) NOT NULL DEFAULT原创 2021-04-13 14:46:45 · 947 阅读 · 0 评论 -
mysql查询未提交事务的sql语句
mysql查询未提交事物的sql语句,找出未提交事务执行的SQL语句mysql开启事务后没有提交就退出,事务长时间running状态,进程又处于Sleep状态,有可能后续导致其他事物超时失败常见原因事务过程中执行其他非数据库操作,导致事务长期未被处理。 事务处理异常或实现逻辑有误,导致事务未被正常处理。 网络,数据库负荷过大等 能找到事物执行的sql语句的话就很容易定位到程序中错误的代码排查过程查看所有事务查看进程信息查询进程状态,发现sleep中...原创 2021-03-15 16:36:58 · 3029 阅读 · 0 评论 -
mysql主从同步错误Last_SQL_Errno: 1133 Last_SQL_Error: Error ‘Can‘t find any matching row in the user table
Last_SQL_Errno: 1133Last_SQL_Error: Error 'Can't find any matching row in the user table' on query. Default database: ''. Query: 'grant all privileges on `zentao`.* to `zentao`@`localhost`'问题MySQL主从同步停止,在从库中查看状态mysql> show slave status\G报如下错..原创 2021-03-11 18:45:22 · 1565 阅读 · 0 评论 -
php避免循环查询数据库优化一对多查询
列表查询中一对多查询循环查询优化,mysql循环查询优化描述比如查询学生列表,每一行需要包含该学生的家长列表,一个学生对应多个家长。循环查询方式先查出学生列表,再循环查询对应的家长列表,需要查询N+1次但在循环中查询数据不但效率低下而且对数据库造成很大对压力,当循环次数多的时候,一方面会造成严重的网络延迟,一方面可能会连接数据库失败,在开发中应该尽量避免在循环里查询数据库优化方案使用关联查询联合查询所有数据行,再循环处理按学生归类,查询次数1示例代码$list =原创 2021-03-02 16:23:54 · 758 阅读 · 0 评论 -
docker访问宿主机MySQL
docker内部访问宿主及MySQL有时MySQL安装在宿主机中,而服务在docker容器中,此时可以通过通过以下两张方式访问方法一启动docker时使用–net=host--net host这个参数,让容器运行在宿主机相同的网络此时可以通过127.0.0.1直接连接MySQL方法二使用docker内网IP连接宿主机输入ifconfigifconfigdocker0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>..原创 2021-01-21 19:22:07 · 2072 阅读 · 0 评论 -
mysql 生成数据字典markdow格式
sql查询库名为school表名为area的数据,不限制表去掉 where条件SELECT t.TABLE_SCHEMA AS 库名, t.TABLE_NAME AS 表名, t.COLUMN_NAME AS 字段名, t.COLUMN_TYPE AS 数据类型, CASE IFNULL(t.COLUMN_DEFAULT,'Null') WHEN '' THEN '空字符串' WHEN 'Null' THEN 'NULL'原创 2021-01-21 17:40:43 · 406 阅读 · 0 评论 -
docker中mysql远程访问慢
docker中运行的MySQL本地链接秒连,远程连接慢,经常完全卡死经研究发现是因为MySQL的dns导致MySQL如何使用DNS当一个新线程连接到mysqld时,mysqld将产生一个新线程来处理请求。此线程将首先检查主机名是否在主机名缓存中。否则线程将调用gethostbyaddr\u r()和gethostbyname\u r()来解析主机名。如果操作系统不支持上述线程安全调用,线程将锁定一个互斥锁,并改为调用gethostbyaddr()和gethostbyname()。请注意原创 2021-01-05 11:22:59 · 4198 阅读 · 4 评论 -
mysql查询不存在的字段
查询结果中增加数据库不存在的字段MySQL增加不存在字段默认值select a,b,c,'123' as value from table增加value 默认值为123原创 2020-12-28 17:00:04 · 3040 阅读 · 3 评论 -
thinkphp软删除验证器获取$data数据,自定义验证,多条件唯一性验证unique验证
thinkphp验证器获取$data数据,自定义验证,多条件唯一性验证,软删除验证唯一性,unique验证问题描述项目中使用软删除,数据删除后验证器里唯一性验证不通过,需要字节拼接条件如下// 复杂验证条件'name' => 'unique:user,status=1&account='.$data['account'],但是默认rule规则里不能直接获取到$data解决方法使用自定义验证拿到$data再验证唯一性代码class Teacher .原创 2020-12-23 11:55:16 · 705 阅读 · 0 评论 -
MySQL按天统计没有数据补0
原理左边生成最近7天的所有日期左连右表查询代码 $time = time(); $today = strtotime(date('Y-m-d', time()));//零点时间戳 $todayDate = date('Y-m-d', time()); //最近7天 $sevenDaysAgo = strtotime(date('Y-m-d', time())) - 7 * 86400; $sql原创 2020-12-14 14:51:53 · 1925 阅读 · 0 评论 -
thinkphp唯一性验证器unique编辑修改数据时提示重复
thinkphp唯一验证器修改时验证错误问题thinkPHP使用unique验证器新增数据没问题,但是编辑数据时提示重复验证规则如下protected $rule = [ 'name' => 'require|max:50', 'role_id' => 'number', 'mobile' => 'mobile|unique:teacher', ];查看日志验证时执行的sql如原创 2020-11-30 12:04:04 · 1718 阅读 · 0 评论 -
mysql删除id最小的一条
You can't specify target table 'user_student' for update in FROM clausemysql删除id最小的一条错误语句执行以下语句报错delete from user_student where id = (select min(id) id from user_student)You can't specify target table 'user_student' for update in FROM clause..原创 2020-11-23 17:23:06 · 1654 阅读 · 0 评论 -
mysql join on多条件关联on大于小于
MySQL多个条件关联,join多个条件关联介绍使用join关联表时on后面写多个条件代码SELECT * FROM lecture l INNER JOIN lecture_limit lt ON l.id = lt.lecture_id INNER JOIN student_class sc ON sc.CODE = lt.CODE OR floor( sc.CODE / 1000 ) = lt.CODE OR floor( sc.CODE / 1000000 ) =原创 2020-11-19 15:16:43 · 6319 阅读 · 0 评论 -
mysql根据某个字段去重
mysql字段去重,根据一个字段去重,聚合查询去重需求查询出相同班级id的打卡记录数方案在count 里使用distinct 对字段去重数据原型统计出来user_id是两个才对去重前,num6SELECTsc.*, count(lr.user_id ) numFROM `student_class` `sc` INNER JOIN `student` `s` ON `sc`.`id` = `s`.`class_id` INNER ...原创 2020-11-16 10:58:33 · 3358 阅读 · 0 评论 -
全国省市区三级数据库sql,全国地区三级联动数据库
全国省市区三级数据库sql全国标准编码地区数据库/* Navicat Premium Data Transfer Source Server : localhost Source Server Type : MySQL Source Server Version : 50726 Source Host : localhost:3306 Source Schema : gclw Target Server Type : M.原创 2020-11-06 11:25:30 · 4568 阅读 · 2 评论 -
同一张表sql省市区三级联动查询
通过一张表查询完整的省市区信息表结构DROP TABLE IF EXISTS `area`;CREATE TABLE `area` ( `id` int(11) NOT NULL AUTO_INCREMENT, `pid` int(11) UNSIGNED NOT NULL, `name` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL, `visible` tinyint(4) UNSIGNED原创 2020-11-06 11:17:38 · 9725 阅读 · 3 评论 -
PHP获取多级树形菜单,无限极分类树形菜单
level代表菜单级别,前端根据此控制缩进pid 上级分类id代码PHP查询数据库中所有菜单,进行排序public function getCatalogTree() { $list = $this->select(); return $this->sort($list); } public funct...原创 2019-12-26 14:42:19 · 9918 阅读 · 0 评论 -
PHP,mysql会话列表获取聊天记录最后一条以及未读消息条数
需求项目中用到即时消息,需要查询会话列表mysql查询会话列表,每条记录包含以下字段:未读消息条数,最后一条消息内容发送时间朋友id朋友昵称sql :select t.*,m.nickname,m.avatar from(SELECT sum( read_status ) AS unread, receiver, type, conten...原创 2019-12-24 17:52:35 · 7505 阅读 · 0 评论 -
mysql按天统计
代码 FROM_UNIXTIME( create_time,'%Y-%m-%d') 将时间戳格式化,然后根据同一天用group by统计 SELECT FROM_UNIXTIME( create_time,'%Y-%m-%d') dayss, count( id ) FROM book_orders GROUP BY dayss;...原创 2019-05-06 09:27:07 · 16908 阅读 · 1 评论 -
解决mysql死锁错误 SQLSTATE[HY000]: General error: 1205 Lock wait timeout exceeded; try restart
在PHP调试时 提交事务触发异常后没有执行回滚导致mysql死锁,以致后续请求更新不了数据问题出现环境:1、在同一事务内先后对同一条数据进行插入和更新操作;2、多台服务器操作同一数据库;3、瞬时出现高并发现象;异常信息SQLSTATE[HY000]: General error: 1205 Lock wait timeout exceeded; try restar...原创 2019-05-07 10:08:30 · 30356 阅读 · 1 评论 -
mysql多表关联统计
mysql多表关联统计子查询统计需求:统计每本书打赏金额,不同时间的充值数据统计,消费统计,设计四个表,book 书本表,orders 订单表reward_log打赏表 consume_log 消费表 ,通过book_id与book表关联,问题:当关联超过两张表时导致统计时数据重复,只好用子查询查出来,子查询只能查一个字段,这里用CONCAT_WS函数将多个字段其拼...原创 2019-05-10 15:46:13 · 18061 阅读 · 1 评论 -
php将图片存储到mysql bolb类型
二进制存储 public function blob() { $imgBlob =file_get_contents("https://doc.shiyanlou.com/document-uid7682labid1135timestamp1436521080691.png/wm"); db('test')->insert(['img' =...原创 2019-06-10 15:35:19 · 11509 阅读 · 0 评论 -
thinkphp5前后端分离项目实现分页
方法一利用tp5提供的paginate方法实现自动分页参数page第几页,paginate分页方法会自动获取size 每页数量代码 /** * Notes:消费记录 * Date: 2019/6/25 * Time: 15:43 * @param Request $request * @return \thi...原创 2019-06-25 15:53:25 · 25831 阅读 · 0 评论 -
thinkphp5拼接数组查询条件
方式一直接传入数组$where = array(); if (!empty($status)) $where[] = array('status', '=', $status); if (!empty($auid)) $where[] = array('auid', '=', $auid);::相同的字段...原创 2019-06-25 16:30:01 · 14581 阅读 · 0 评论 -
PHP网站配置(系统设置)数据库表结构及实现
网站后台一般少不了站点配置,一种方式是写到配置文件里,第二种是写到数据库,下面以写到数据库为例数据库表结构DROP TABLE IF EXISTS `option`;CREATE TABLE `option` ( `option_name` varchar(64) NOT NULL DEFAULT '' COMMENT '配置名', `option_value` varchar...原创 2019-07-17 12:49:01 · 13972 阅读 · 0 评论 -
TP5随机获取数据库数据
代码 public function getLikeList($catalog_id,$size = 20){ $res = $this ->field('id,title') ->where('catalog_id',$catalog_id) ->orderRaw("RAND()")...原创 2019-07-23 10:58:37 · 16596 阅读 · 0 评论 -
mysql group_concat 把分组字段拼接到同一行
mysql group_concat 把分组字段写成一行mysql group_concat 把分组字段写成一行)mysql group_concat 把分组字段写成一行功能:将group by产生的同一个分组中的值连接起来,返回一个字符串结果。函数语法:group_concat( [DISTINCT] 要连接的字段 [Order BY 排序字段 ASC/DESC] [Sep...原创 2019-04-19 14:35:15 · 22208 阅读 · 0 评论