mysql varchar最大长度问题?

qqwx_1986 2009-10-26 06:22:47
参考手册上不是说varchar(M),M的范围是0到65,535,而事实上我设个30000字段类型自动变成了 mediumtext类型,这是为什么?

还有个问题就是我一个表里面有很多个varchar(1024)的字段,结果有次又往后面加个varchar(1024)发现插入数据就会失败,难道mysql对每条数据的总字节也有限制?限制是多少?
...全文
1805 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
llpyemao 2012-10-14
  • 打赏
  • 举报
回复
解释很好
ACMAIN_CHM 2009-10-26
  • 打赏
  • 举报
回复
总列数是限制,<4096
一条记录的大小也有限制 <65,535 bytes
ACMAIN_CHM 2009-10-26
  • 打赏
  • 举报
回复
[Quote]难道mysql对每条数据的总字节也有限制?限制是多少?[/Quote]


There is a hard limit of 4096 columns per table, but the effective maximum may be less for a given table. The exact limit depends on several interacting factors, listed in the following discussion.

Every table has a maximum row size of 65,535 bytes. This maximum applies to all storage engines, but a given engine might have additional constraints that result in a lower effective maximum row size.
qqwx_1986 2009-10-26
  • 打赏
  • 举报
回复
utf8 3字节 第一个问题理解了
谢谢

那后面那个问题呢?
vinsonshen 2009-10-26
  • 打赏
  • 举报
回复
用命令
show charset
看看你系统选择的字符集的每个字符的长度是多少吧
vinsonshen 2009-10-26
  • 打赏
  • 举报
回复
varchar(M),M的范围是0到65,535
---------------
这个是表示字节的长度,不是字符的长度,注意!!!

56,866

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧