Mysql 表最大长度限制

目录

一:问题

二:分析


一:问题

最近在mysql表中创建字段的时候提示

这个提示的意思是mysql行大小的限制为65535,不包含text和blobs类型,建议调整一些列为这两个类型。

二:分析

1: 我们查看这个表的所有字段的长度

sELECT COLUMN_NAME, sum(CHARACTER_MAXIMUM_LENGTH)
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = 'db_name' AND TABLE_NAME = 'table_name';

2:  我的表结构

3: 计算方式

表类型是utf8mb4,varchar类型一个字符占4个字节,int占4个字节

因此总长度是 16381 * 4 + 4 = 65528,如果设置t2为6382就会提示超过限制。

4:各字段类型的长度

varchar(100)   utf8mb4:100 * 4   utf8:  100 * 3

int                         utf8mb4:4   utf8:  4

tinyint                  utf8mb4: 1   utf8:  1

5:变更类型为text

如果需要增加字段可以将varchar转化为text,这样可以保存

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

攻城狮的梦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值