MySQL使用utf8mb4字符集存储emoji表情

Mysql 发表时间:2021-11-23 10:17:57 作者:梁子亮

自部署mysql的更改1、查看一下现在数据库的结构如何show variables like '%character%';2、一般情况下除character_set_filesystem外其余都显示utf8,此时需要分别把库、表、字段三个全部都改为utf8mb4如下SQL语句所示,分别将dbsdq库、tt2表、tt2表中的c2列修改为utf8mb4字符集(参考阿里云:https://help.aliyun.com/document_detail/41706.htm?spm=a2c4g.11186623.0.0.57e6fb03UQe1ZK)#更改数据库结构 alter dat

阅读更多 1050

tp5.1事务中悲观锁使用

Mysql 发表时间:2021-11-12 11:10:33 作者:梁子亮

案例一、标准的事务配合lock处理并发的例子1、存在以下2个方法(理论上是一个方法,为了模拟并发所以建立2个方法配合sleep阻塞实现假并发需求)// 先运行此方法[8,9,11]id的原始age均为10,"10:26:15" public function testTrans(){ Db::startTrans(); try{ print_dump(date('H:i:s')); // "10:26:15" $age = Db::name('user')->

阅读更多 943

mysql8.0版安装以及密码重置

Mysql 发表时间:2021-08-14 16:10:38 作者:梁子亮

mysql8.0版单独安装,使用lnmp一键安装包安装时报cmake版本低(升级cmake3后依然无法解决),于是尝试使用其他办法wgethttps://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpmrpm -ivh mysql80-community-release-el7-1.noarch.rpmyum install mysql-server登录时有可能报这样的错:ERROR2002 (HY000): Can‘t connect to local MySQL server through socket ‘/var/

阅读更多 1089

mysql多张无关联表查询数据并分页

Mysql 发表时间:2021-07-08 10:07:35 作者:梁子亮

示例1$sql = 'select * FROM( (select id,name,create_time,sort from `ar_card`) UNION ALL (select id,title,create_time,-1 from `ar_article`) ) as fnd where name like "%次%" order by create_time DESC limit 10,10'; $re = Db::query($sql); print_dump($re);die;注意,表1字段列数要与表2的字段列数相同,且表1的字段必须在

阅读更多 1145

mysql优化

Mysql 发表时间:2021-06-11 10:29:46 作者:梁子亮

1、page过大时mysql搜索过慢,可使用id的between来优化原代码$items = Db::name('coupondetail cd')->leftjoin('couponrecord cr','cd.id = cr.coupondetail_id')->leftjoin('user u','u.id = cr.user_id')->page($page,$limit)->field('cd.*,u.name,u.phone')->order($order)

阅读更多 1101

mysql函数用法

Mysql 发表时间:2021-05-20 10:50:36 作者:梁子亮

1、修改ar_slider表中的img字段,统一在第二位插入字母"A",若img字段中有中文也能在第二位中文后正常插入毫不影响update ar_slider set img=CONCAT(left(img,2),'A',right(img,LENGTH(img)-2));2、查找用户的两个常去的店,按照常去的次数排序,若次数相同,则按照最近一次到店时间排序$uid = 128; $field = "sh.id,sh.name,sh.address,sh.long,sh.lat,sh.is_default,count(su.shop_id) as

阅读更多 1206

lnmp一键安装包单独重装mysql

Mysql 发表时间:2021-01-19 20:48:50 作者:梁子亮

先找出mysql相关的东西,卸载掉()whereis mysql依次卸载掉四个(或五个对应的mysql文件夹)rm -rf /usr/bin/mysql去到 /root的lnmp文件夹下cd /root/lnmp1.5/执行单独安装mysql的命令./install.sh db然后按照提示选择版本号即可(不会安装nginx和PHP那些)安装完成后有必要重新开启一下3306端口和80端口(centos7需要)

阅读更多 1190

修改数据库字段操作

Mysql 发表时间:2020-11-06 15:46:58 作者:梁子亮

1、查找订单详情中订单id为238的订单,在规格表中对应到此规格库存stock减去订单详情中的num$id = 238; $array = [ 'gs.stock' => Db::raw('gs.stock - gd.num'), ]; $goodsspec = Db::name('goodsspec gs')->join('goodsorderdetail gd','gs.id = gd.spec_id')->where('gd.gd_id',$id)->s

阅读更多 801

mysql操作时间段

Mysql 发表时间:2020-10-15 19:32:02 作者:梁子亮

查找支付时间比创建时间大于100秒的订单$field = "id,create_time,pay_time,TIMESTAMPDIFF(SECOND,create_time,pay_time) AS time_balance"; $res = Db::name('subscribe')->field($field)->having('time_balance>100')->select(); print_dump($res);die;把token_expired的datetime日期往后延长2小时$re = Db:

阅读更多 845

mysql根据经纬度函数 st_distance计算距离查找结果

Mysql 发表时间:2020-03-23 14:36:05 作者:梁子亮

mysql版本要求,5.6或以上$shop_lng = 22.271620; $shop_lat = 113.546830; $order = 'distance ASC'; $field = "id,round(st_distance (point (ar_shop.long, ar_shop.lat),point(".$long.",".$lat.") ) / 0.0111,2) AS distance"; $res = Db::name('shop')->field($field)-

阅读更多 892
1-1016