分类: MySQL
-
本文记录了在 Yii 2.0 中使用 like 操作符查找反斜杠时结果为空的问题。经排查,在 MySQL 5.7.19 版本下,当字段排序规则为 utf8mb4_unicode_ci 时,需在 SQL 中多增加一根反斜杠才能查出数据。对比测试 utf8mb4_general_ci 排序规则则无此现象。查阅官方文档得知这是特定版本下 utf8mb4_unicode_ci 的已知 Bug,该问题在 MySQL 8.0.18 中已修复。
-
本文记录了 MySQL 报错 1055 的解决过程,该错误由于 sql_mode 包含 only_full_group_by 导致非聚合列未出现在 GROUP BY 子句中。文章首先尝试调整 SQL 语句,使查询字段与分组字段完全一致从而消除报错。随后考虑到修改代码成本较高,参考相关技术文档,通过修改配置文件 my.ini 调整设置,最终解决了该兼容性问题。
-
针对MySQL表注释、字段注释及表中值出现乱码的问题,通过在SQL文件最开头添加SET NAMES utf8mb4;命令,可以有效解决字符编码不匹配的情况,执行后表结构注释与数据内容均能正确显示,不再出现乱码现象。
-
针对Navicat连接阿里云RDS MySQL实例失败的问题,文章记录了申请外网地址后遇到的连接超时与访问权限错误处理过程。通过搜索获取当前公网网段并在RDS管理控制台数据安全性中设置白名单分组,解决了连接超时问题;随后将用户名从root修改为其他有效账户,最终成功建立连接并提示外网连接存在安全风险。
-
本文介绍了在 Yii 2.0 中解决基于文章发布时间范围筛选账号数量排行的问题。通过调用 onCondition 方法在 JOIN 查询的 ON 部分指定状态额外条件,并新增配置 filterAttributeName 的过滤器来实现关联表记录创建时间的筛选。最终,通过接口地址传递相关参数,成功生成符合预期的 SQL 查询语句并获取了正确的响应结果。
-
本文探讨了在 Yii 2.0 中处理表结构多重关联时,基于 ActiveDataFilter 实现查询过滤的方法。文章针对主表通过中间表与多张附表关联,且需最终依据附表关联的分类表字段进行过滤的场景,通过配置搜索模型的 attributeMap 设置不同关联别名,并修改序列化文件重置数据,实现了通过指定字段查询主表数据的最终目的。
-
文章介绍了在 Yii 2.0 中通过命令行生成数据库迁移类并为表添加多个字段的方法。通过遵循 add_xxx_to_yyy 的命名格式并配合 fields 参数,可自动生成包含 addColumn 和 dropColumn 的类文件。编辑该文件补充字段注释与顺序后,使用提交命令升级数据库结构,最终验证表设计符合预期。
-
本文探讨了在 Yii 2.0 框架中使用 ActiveDataFilter 实现对不存在字段的筛选参数支持。针对选题列表中通过程序计算得出的“是否已延期”字段需求,文章分析了计算规则并推导出待生成的查询 SQL。最终结论指出,若需让表中不存在的字段参与筛选,必须将其转换为表中已存在的字段,从而利用框架自带的底层实现,避免手动转换筛选参数。
-
CakePHP v2.6.4 运行中出现 SQLSTATE[HY000] [2002] Connection timed out 报错,经检查发现数据库主机地址配置为内网IP,导致容器无法访问。将该地址调整为外网IP后,打印数据库连接信息确认容器可以正常访问,问题得以解决。
-
本文针对产品部署时初始化数据的场景,介绍了如何在 MySQL 的 SQL 文件中定义与使用变量。由于多条 SQL 语句的执行依赖于前序语句生成的主键 ID,文章演示了通过变量传递参数的具体 SQL 写法,并记录了脚本运行前后的数据库表状态。最终验证显示脚本运行成功,各表中的记录 ID 值均符合预期,实现了数据的正确初始化。
