GANKUDADIZ

BLOG / LIBRARY

FILTERS: CATEGORY: 数据库 × [CLEAR ALL]
2026-04-17 / 数据库 / 21

关于 MySQL 整数显示宽度的排查:为什么同一张表会出现 `bigint(20) unsigned` 和 `bigint unsigned`

同一张表的主键字段在不同MySQL版本中(如8.0.12和8.0.45)的SHOW CREATE TABLE输出有差异:一个显示为bigint(20) unsigned,另一个显示为bigint unsigned。本文通过剖析SHOW CREATE TABLE、information_schema元数据及MySQL版本变更(8.0.19后默认不再显示整数显示宽度),揭示这并非schema差异,而是MySQL输出行为的改变,不影响主键自增、存储、索引等实际业务逻辑。文章提供了排查此类问题的三层步骤和核心注意事项。

READ_LOG
#MySQL
2026-01-09 / 数据库 / 37

被 MyISAM 坑惨的一天 —— Laravel 外键报错 1452 的幕后真凶

本文记录了一次 Laravel 项目部署中遇到的 MySQL 外键报错 1452 的排查与解决过程。问题的根源是本地开发环境的 MySQL 默认使用 MyISAM 存储引擎,而 Laravel 迁移创建的表使用 InnoDB,导致跨引擎外键约束失效。文章提供了紧急修复方案(转换表引擎)和根治方案(统一环境配置),并总结了数据迁移的最佳实践

READ_LOG
#Laravel #MySQL #教程