用户11737143
MySQL 建表失败 ERROR 1118 的两个报错 65535 与 16318
原创
关注作者
腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
圈层
工具
MCP广场
文章/答案/技术大牛
搜索
搜索
关闭
发布
用户11737143
社区首页
>
专栏
>
MySQL 建表失败 ERROR 1118 的两个报错 65535 与 16318
MySQL 建表失败 ERROR 1118 的两个报错 65535 与 16318
用户11737143
关注
修改于 2026-10-08 10:22:22
修改于 2026-10-08 10:22:22
24
0
举报
概述
一次 SAP 大宽表迁移引发的血案:200+ 列的表结构搬到 MySQL 8.0,建表直接报错。这篇文章把 ERROR 1118 的两道计算口径、复现实验、严格模式的坑、以及三种解法一次讲透。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系
cloudcommunity@tencent.com
删除。
mysql
目录
0、结论先行
1、问题背景
2、两道关卡的计算口径(判断方式)
2.1 第一关:Server 层声明总长(上限 65535)
2.2 第二关:InnoDB 页内最坏占用(上限 = 页可用空间一半)
2.3 两个必须搞懂的概念
3、动手复现:400 列的表,两种报错都打出来
4、关闭严格模式的代价:从"建不出来"变成"插不进去"
5、TEXT 的"溢出"后门:同一份数据,VARCHAR 进不去,TEXT 能进
6、解决方案与取舍
7、一键体检:找出库里所有"埋雷表"
8、一句话记法
问题归档
专栏文章
快讯文章归档
关键词归档
开发者手册归档
开发者手册 Section 归档