忘记密码   免费注册 查看新帖 | 论坛精华区

ChinaUnix.net

  平台 论坛 博客 认证专区 大话IT HPC论坛 徽章 文库 沙龙 自测 下载 频道自动化运维 虚拟化 储存备份 C/C++ PHP MySQL 嵌入式 Linux系统
最近访问板块 发新帖
查看: 1586 | 回复: 8

Mysql关于varchar和text字段的疑问 [复制链接]

论坛徽章:
0
发表于 2017-07-26 16:40 |显示全部楼层
请教下各位一个问题:在5.6.25版本中创建表时发现有这个问题:
[Err] 1118 - Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535. This includes storage overhead, check the manual. You have to change some columns to TEXT or BLOBs


但是在5.7.18这个版本执行同样的SQL不报错,所以想请教下,上面这个问题是一个bug吗?

论坛徽章:
89
CU大牛徽章
日期:2013-11-29 22:26:36CU大牛徽章
日期:2014-02-21 14:21:56CU十二周年纪念徽章
日期:2014-02-21 14:22:02CU大牛徽章
日期:2014-02-21 14:22:07CU大牛徽章
日期:2014-02-21 14:22:09CU大牛徽章
日期:2015-02-28 17:45:342015元宵节徽章
日期:2015-03-06 16:56:38羊年新春福章
日期:2015-02-28 17:42:522015七夕节徽章
日期:2015-09-14 09:24:55CU大牛徽章
日期:2014-02-21 14:22:44CU大牛徽章
日期:2015-02-28 17:48:12CU大牛徽章
日期:2015-02-28 17:47:58
发表于 2017-07-27 10:00 |显示全部楼层
参考官方手册即使在8.0对于行大小的限制也是一样的,看上去都没有什么调整,应该在5.7同样要提示错误的。你看看执行完毕后的表的结构是不是和你的执行语句是一样的,网上有看到一些文章写客户端工具会做自动调整。
https://dev.mysql.com/doc/refman/5.5/en/column-count-limit.html
https://dev.mysql.com/doc/refman/5.7/en/column-count-limit.html
https://dev.mysql.com/doc/refman/8.0/en/column-count-limit.html

论坛徽章:
0
发表于 2017-07-27 10:41 |显示全部楼层
谢谢,解答

求职 : Linux运维
论坛徽章:
202
拜羊年徽章
日期:2015-03-03 16:15:432015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:57:092015小元宵徽章
日期:2015-03-06 15:58:182015年亚洲杯之约旦
日期:2015-04-05 20:08:292015年亚洲杯之澳大利亚
日期:2015-04-09 09:25:552015年亚洲杯之约旦
日期:2015-04-10 17:34:102015年亚洲杯之巴勒斯坦
日期:2015-04-10 17:35:342015年亚洲杯之日本
日期:2015-04-16 16:28:552015年亚洲杯纪念徽章
日期:2015-04-27 23:29:17操作系统版块每日发帖之星
日期:2015-06-06 22:20:00操作系统版块每日发帖之星
日期:2015-06-09 22:20:00
发表于 2017-07-27 11:03 |显示全部楼层
先看一下你的sqlmode,sqlmode为空的不会去检查,但是会截断你的数据长度,所以依然插入成功的

论坛徽章:
0
发表于 2017-07-27 14:29 |显示全部楼层
我对比了,字段数和数据类型都是一样的

论坛徽章:
0
发表于 2017-07-27 15:04 |显示全部楼层
我知道了,我用的拉丁文字符集,而不是uft-8字符集,所以在我的测试环境能创建,而在正式环境不能创建

求职 : Linux运维
论坛徽章:
202
拜羊年徽章
日期:2015-03-03 16:15:432015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:57:092015小元宵徽章
日期:2015-03-06 15:58:182015年亚洲杯之约旦
日期:2015-04-05 20:08:292015年亚洲杯之澳大利亚
日期:2015-04-09 09:25:552015年亚洲杯之约旦
日期:2015-04-10 17:34:102015年亚洲杯之巴勒斯坦
日期:2015-04-10 17:35:342015年亚洲杯之日本
日期:2015-04-16 16:28:552015年亚洲杯纪念徽章
日期:2015-04-27 23:29:17操作系统版块每日发帖之星
日期:2015-06-06 22:20:00操作系统版块每日发帖之星
日期:2015-06-09 22:20:00
发表于 2017-07-28 09:50 |显示全部楼层
sancaiyujia 发表于 2017-07-27 15:04
我知道了,我用的拉丁文字符集,而不是uft-8字符集,所以在我的测试环境能创建,而在正式环境不能创建

latin1是一个字符一个字节,utf8是一个字符三个字节,难怪不够了

论坛徽章:
89
CU大牛徽章
日期:2013-11-29 22:26:36CU大牛徽章
日期:2014-02-21 14:21:56CU十二周年纪念徽章
日期:2014-02-21 14:22:02CU大牛徽章
日期:2014-02-21 14:22:07CU大牛徽章
日期:2014-02-21 14:22:09CU大牛徽章
日期:2015-02-28 17:45:342015元宵节徽章
日期:2015-03-06 16:56:38羊年新春福章
日期:2015-02-28 17:42:522015七夕节徽章
日期:2015-09-14 09:24:55CU大牛徽章
日期:2014-02-21 14:22:44CU大牛徽章
日期:2015-02-28 17:48:12CU大牛徽章
日期:2015-02-28 17:47:58
发表于 2017-07-28 16:42 |显示全部楼层
回复 6# sancaiyujia

这样啊,感谢分享~

论坛徽章:
0
发表于 2017-07-29 17:42 |显示全部楼层
其实是我,要感谢大家的帮忙,才能解决我这些疑惑,非常谢谢大家
您需要登录后才可以回帖 登录 | 注册

本版积分规则

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号 北京市公安局海淀分局网监中心备案编号:11010802020122
广播电视节目制作经营许可证(京) 字第1234号 中国互联网协会会员  联系我们:
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP