标签: Expression
-
本文记录了 MySQL 报错 1055 的解决过程,该错误由于 sql_mode 包含 only_full_group_by 导致非聚合列未出现在 GROUP BY 子句中。文章首先尝试调整 SQL 语句,使查询字段与分组字段完全一致从而消除报错。随后考虑到修改代码成本较高,参考相关技术文档,通过修改配置文件 my.ini 调整设置,最终解决了该兼容性问题。
-
针对 Yii 2.0 中企鹅号任务发布后入库失败无法查询记录的问题,文章放弃了客户端冗余存储方案,采用新建预发布日志表并增大字段长度的设计。通过创建继承 ActionFilter 的过滤器,在动作执行后根据返回码非 10000 时插入记录,并利用 UNION ALL 语法合并查询结果,成功实现了入库成功与失败皆可查询的功能。
-
针对 Yii 2.0 中 MySQL 5.6 数据库 text 类型存储的 JSON 数据,本文解决了如何修改 JSON 字符串中特定字段值的需求。在 pub_log 表的 data 字段中,需将 channel_app_task_status 值从 6 替换为 7。文章展示了使用 SQL 进行搜索与替换的操作过程,执行后成功影响了 1 行数据,并介绍了通过数据库迁移文件生成该 SQL 的实现方法,最终验证数据修改符合预期。
-
本文介绍了在 Yii 2.0 中通过数据库迁移将 MySQL 表 A 中的一列数据迁移至表 B 对应列的实现方法。过程包括编辑迁移文件以生成基于 SQL 的更新逻辑,执行迁移命令后查看字段数值。最终验证数据库字段值已按预期更新,完成了跨表数据的同步操作。
-
在 Yii 2.0 中使用 updateAll() 方法将表列值更新为同一表另一列的值时,直接使用查询构建器会导致 prev_status 被错误更新为 0。为解决该问题,引入 yii\db\Expression 对象来表示不需要转义或引用的数据库表达式,最终成功生成了符合预期的 SQL 语句,实现了将 prev_status 更新为 status 的值并将 status 设为 4 的操作。
