没有不值得去解决的问题,也没有不值得去学习的技术!

分类: MySQL 5.7

  • 在 Laravel 6 中,模型应用了软删除后再次插入记录会出现唯一键冲突,这是因为软删除仅更新 deleted_at 字段而未从数据库物理移除记录。由于查询结果自动排除软删除数据,需要使用 withTrashed 方法获取包含软删除在内的记录,再利用 forceDelete 方法进行硬删除。永久删除记录后,再次插入新数据即可避免冲突并成功执行。

  • 本文针对 MySQL 5.7 表中 JSON 列类型数据写入后键顺序被打乱的问题进行排查。通过对比原始 JSON 数据顺序与写入数据库后的存储结果,发现数据库中的键顺序变更为基于字母顺序排列,且内部子 JSON 结构的键顺序也发生了变化。经排查验证,将表列类型修改为 text 后,JSON 数据的顺序能够与原始格式保持一致,从而确认了问题源于 MySQL 5.7 JSON 列类型的内部处理机制。

  • 本文介绍了在 Laravel 6 中实现 MySQL 表 UUID 类型字段的操作过程。通过数据库迁移添加了 char(36) 类型的字段并建立索引,在模型构造方法中使用 Str::orderedUuid() 方法设置值以利用排序功能。操作过程中遇到了批量赋值错误,通过在模型中设置相应属性为可批量赋值解决了问题,最终生成的 SQL 符合预期。

  • 执行 SQL 语句时报错 1093,提示不能在 FROM 子句中指定目标表进行更新。参考 MySQL 官方文档得知,在 MySQL 中无法修改 SELECT 部分使用的同一个表。解决方法是将表连接到自身,使 MySQL 将表视为两个不同的事物,从而允许执行破坏性更改操作。

  • 本文记录了在 Laravel 6 中将打印出的 SQL 复制到 MySQL 5.7 执行时结果不一致的问题。程序查询返回 79 条数据,而数据库直接执行返回 81 条。排查发现 whereRaw 语句中的参数绑定存在差异,通过将 SQL 改为原生形式,或者使用 addslashes 对反斜杠进行转义,最终使程序执行结果变为 81 条,与数据库执行结果一致。

  • 在 Laravel 6 执行数据库迁移时,遇到 SQLSTATE[42000] 报错,提示索引名称 theme_installation_version_preset_theme_store_theme_version_id_index 长度为 68,超过了 MySQL 5.7 默认 64 的限制。通过利用 Laravel 索引方法支持自定义名称的特性,将索引名称明确指定为更短的 tivp_theme_store_theme_version_id_index,仅使用表名首字母缩写。最终重新执行迁移,成功解决了该标识符过长的问题。

  • 本文针对 Laravel 6 中跨多个 MySQL 数据库连接使用事务的问题进行探讨。在涉及数据库 A 和数据库 B 的跨库写入场景下,现有的仅对单库使用事务会导致脏数据问题。文章通过模型配置连接,参考社区方案对两个连接同时开启事务,并测试了不同阶段的插入失败情形。测试结果显示,在多数异常情况下事务均能正常回滚,确保数据一致性,但对于双重提交时的潜在异常处理仍留待后续分析。

  • 本文针对模板文件的验证规则与文件大小限制进行了分析。通过测试 Shopify 和 WordPress 后台上传不同大小文件的响应情况,发现前者受 Nginx 设置及文件内容长度限制,后者在超过特定阈值时返回 502 错误。基于实际测试结果与现有文件大小的统计,最终制定了 Assets 目录限制 10 MB、Locales 目录限制 2 MB、其他目录限制 512 KB 的规范。

  • 在 MySQL 5.7 中使用 LIKE 语句搜索包含反斜杠的数据时,直接使用单反斜杠无法匹配目标结果,需要使用双反斜杠进行转义。这是因为 MySQL 字符串解析器和模式匹配过程会先后各剥离一次转义字符,导致最终只剩下一个反斜杠进行匹配,因此必须在 SQL 语句中写入四个反斜杠才能成功查到以 layouts 开头且包含反斜杠的记录。

  • 本文记录了将 Laravel 8.x 项目部署至阿里云 ECS CentOS 7.7 的过程。基于 OneinStack 环境,通过虚拟主机脚本配置 Nginx 和 SSL,利用 FTP 上传代码并连接阿里云 RDS 数据库。文章详细解决了 PHP 禁用函数限制、Supervisor 进程管理配置及队列驱动调整等问题,最终通过 Supervisor 和 Crontab 实现了队列监听与任务调度,验证了部署成功。

👨‍💻 个人品牌

王世强|技术实践者 · 独立博客作者

15+ 年 Web 与系统实践经验,持续关注网站基础设施、系统优化、AI 工具与自动化。

持续运营技术博客 10+ 年,累计发布 1000+ 篇原创技术文章。

长期建设个人项目,也欢迎合适的技术交流、咨询与合作。

👉 关于我

.env (14) add (16) AI 翻译 (31) Apache (13) Array (19) A Tour of Go (69) Cache (13) CentOS (23) ChatGPT (20) ChatGPT Plus (15) chrome (19) Cloudflare (34) Codex (22) composer (42) composer.json (22) composer install (13) composer update (14) console (16) Container (25) curl (16) delete (31) Docker (32) Dockerfile (15) EdgeOne (33) environment variable (19) error (24) file (15) filter (20) Git (27) GitHub (23) Gitlab (15) GLM-5.2 (27) Go (62) go-tour-i18n (14) Google AdSense (29) Go 语言 (24) GraphQL (24) GraphQL API (14) Gutenberg (35) http (21) https (22) Interface (19) Jquery (13) json (24) Laravel (37) Laravel 6 (55) Laravel 9 (25) Lighthouse (17) Lighthouse 5 (14) Linux (22) Migrate (13) Module (17) MySQL (78) MySQL 5.7 (22) Nginx (63) normalize.css (28) OKX (15) OneinStack (21) PHP (67) php-fpm (19) php.ini (24) PHP 7.1.12 (22) PHP 7.4 (26) phpmyadmin (15) PhpStorm (24) Polylang (58) postman (18) Query (17) queue (16) Rancher (24) Redis (51) RESTful (27) RESTful API (23) Shopify (19) SlyTranslate (21) SQL (24) String (14) TortoiseGit (14) Twenty Twenty-Five (20) Ubuntu (40) update (20) VPN (17) W3 Total Cache (39) Windows 10 (46) WireGuard (28) WordPress (134) WordPress 多语言 (13) WPCode (23) Wstunnel (15) Yii (40) Yii 2 (70) Yii 2.0 (51) ZgoCloud (13) 多语言网站 (13) 多语言翻译 (36) 技术博客 (15) 故障排查 (15) 数据库迁移 (16) 浏览器 (14) 阿里云 (19)

2026 年 9 月
 123456
78910111213
14151617181920
21222324252627
282930