技术饭 MySQL 批量修改数据表编码及字符集

经常使用SQLyog导出导入数据库时,不懂为什么经常性出现编码错误字符集被设置成了默认,奇怪的很,可能是软件版本问题,当需要修改数据库编码和字符集时,通常需要对其下属的所有表及表中所有字段进行修改。以下备注批量修改方案( 以修改为 utf8mb4_general_ci为例,注意将 db_name 换为真实的数据库名 )。

阅读全文 » 1234天前
2020年11月10日

技术饭 POST参数超过1000后,$_POST中1000以后的参数丢失,但是php5.6 max_input_vars 修改无反应?

之前做了图片文件上传到阿里云oss存储中,阿里本身的传输没有问题,但是在当保存到自己数据库的时候就报错了,第一次报错是id不存在,本来数据表就是一条记录,更新的主键ID竟然不存在,查了下js传过过来的formdata参数正常,但是$_POST就只仅仅取到了一部分数据,剩余的数据丢失了,想想应该是php限制的问题,最终确定是参数: max_input_vars 默认限制了1000,本来是改成了5000,但是测了还是没效果,查了phpinfo()发现:php-fpm重启之后 max_input_vars 的值并没有改变,多方查证发现服务器的php配置原来是外包公司配置的,外包公司把配置文件改到了 php-fpm.conf 文件里面,所以原始的php.ini中的参数就失效了,无论设置成什么都会失效。

阅读全文 » 1292天前
2020年09月14日

技术饭 css修改谷歌默认最小字体12px的方案

AikehouAdmin5.2.0版本后台的数据表单中,操作按钮的字体font-size属性设置成了10px,但是Google浏览器似乎不兼容,最小字体也就12px,几经折腾才弄清楚,原来是谷歌内核浏览器默认最小12px,其他浏览器却是支持10px,所以也只能做个兼容方案。解决方案是使用css的属性 -webkit-transform: scale(0.88); 来缩放解决这个问题。

阅读全文 » 1487天前
2020年03月03日

技术饭 ThinkPHP3.2框架中添加(add)或更新(save)时过滤某些字段的问题

ThinkPHP3.2框架中添加(add)或更新(save)时过滤某些字段的问题,在已经建好的数据表结构中新增或修改字段后,在TP框架中执行增加、修改操作时出现过滤掉该字段,而打印的插入或更新数据会显示该字段,打印执行的sql语句不会出现该字段,这时把TP框架中的runtime文件夹删掉即可,原因是runtime文件夹中有数据库的缓存会自动过滤掉该字段

阅读全文 » 1843天前
2019年03月13日

技术饭 mysql数据库分表及实现

项目开发中,我们的数据库数据越来越大,随之而来的是单个表中数据太多。以至于查询书读变慢,而且由于表的锁机制导致应用操作也搜到严重影响,出现了数据库性能瓶颈。当出现这种情况时,我们可以考虑分表,即将单个数据库表进行拆分,拆分成多个数据表,然后用户访问的时候,根据一定的算法,让用户访问不同的表,这样数据分散到多个数据表中,减少了单个数据表的访问压力。提升了数据库访问性能。

阅读全文 » 2003天前
2018年10月04日

技术饭 MySql数据统计使用 WITH ROLLUP 统计总和

MySql数据统计使用 WITH ROLLUP 统计总和,ITH ROLLUP 可以实现在分组统计数据基础上再进行相同的统计(SUM,AVG,COUNT…)。例如我们将以上的数据表按名字进行分组,再统计每个人登录的次数。

阅读全文 » 2004天前
2018年10月03日

技术饭 ThinkPHP使用数据库读写分离时,开启事务时报错:There is no active transaction

ThinkPHP使用数据库读写分离时,开启事务时报错:There is no active transaction,刚开始以为是数据表引擎不对造成的,因为 有几张表的引擎是 MyISAM,后来调整过来了,改为 InnoDB,还是报错。应该是TP 底层连数据库时,切换数据库连接时出了点问题。

阅读全文 » 2503天前
2017年05月22日