mysql column legnth too big for_Column length too big for column 'Flist' (max = 21845);

建表语句报如下错误:

CREATE TABLE test_1 (

Fid bigint(20) unsigned NOT NULL,

Ftype tinyint(4) unsigned NOT NULL,

Flist varchar(65532) DEFAULT NULL,

Fstatus tinyint(3) unsigned DEFAULT '0',

Ftime bigint unsigned DEFAULT '0',

Faddtime bigint unsigned DEFAULT '0',

PRIMARY KEY (Fid,Ftype)

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

建表报如下错误:

ERROR 1074 (42000): Column length too big for column 'Flist' (max = 21845); use BLOB or TEXT instead

原因分析

虽然知道mysql建表的时候列长度有65535的限制,但是一直没有时间整理这个问题,接着今天整理一下。

ERROR 1074 (42000): Column length too big for column 'Flist' (max = 21845); use BLOB or TEXT instead

从上面的报错我们知道Flist列指定值不能大于21845 字节(mysql官方手册中定义,创建表的字段长度限制为65535 bytes,这个是指所有列指定的长度和,当然不包括TEXT和BLOB类型的字段)。

还有一点我们需要注意的是我们定义列长度时指定的长度单位为字符,上面提到的65535限制的单位为字节。不同字符集下每个字符占用的字节数不同,utf8下每个字符占用3个字节(65535/3=21845),gbk下每个字符占用2个字节(65535/2=32767),latin1字符集下一个字符占用一个字节。

操作验证

实验1:

CREATE TABLE test_1 (

Flist varchar(21845) DEFAULT NULL

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

ERROR 1118 (42000): 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

##我们发现给表指定一个列,

列长度为21845字符(utf8下最大长度限制),但是建表依然报错。这是因为还有别的一些开销,

所以我们不能指定列长度为最大限制21845(测试发现指定长度为21844后建表成功)

实验2:

CREATE TABLE test_1 (

Fid bigint(20) unsigned NOT NULL,

Ftype tinyint(4) unsigned NOT NULL,

Flist varchar(21844) DEFAULT NULL,

Fstatus tinyint(3) unsigned DEFAULT '0',

Ftime bigint unsigned DEFAULT '0',

Faddtime bigint unsigned DEFAULT '0',

PRIMARY KEY (Fid,Ftype)

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

报如下错误:

ERROR 1118 (42000): 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

##虽然Flist 长度指定为21844,但是因为还

有其他非TEXT和BLOB字段存在,所以报错。这是因为65535长度限制是针对表中所有列的长

度和的最大限制,如果列的长度和超过该值,建表依然会报错。(除了TEXT和BLOB类型的字

段的)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/562044.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

HTML+CSS+JS实现 ❤️卡通人物吃水果游戏❤️

效果演示&#xff1a; 代码目录&#xff1a; 主要代码实现&#xff1a; HTML代码 : <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial…

py哪个函数可以返回输入的变量类型_[Python基础]二、pycharm,python变量

2.1 Python简介Life is short,you need Python (人生苦短&#xff0c;我用Python)解释器&#xff1a;将其他语言翻译成机器语言的工具&#xff0c;称为编译器编译器的翻译方法有两种&#xff1a;编译解释Python的设计哲学优雅明确简单Python开发者哲学&#xff1a;用一种方法&a…

HTML+CSS+JS实现 贪吃蛇游戏源码

效果演示&#xff1a; 文末获取源码 代码目录&#xff1a; 主要代码实现&#xff1a; 部分代码 : <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><meta http-equiv&qu…

mysql sql高级应用程序_mysql-sql高级应用

sql语言进阶典型操作order by- select * from play_list order bycreatetime;- select * from play_list order by bookedcount desc,createtime asc;order by语句用于根据指定的列对结果集进行排序order by语句默认按照升序对记录排序&#xff0c;使用desc则降序排序order by也…

HTML+CSS+JS实现 ❤️个人相册封面卡片❤️

效果演示&#xff1a; 代码目录&#xff1a; 主要代码实现&#xff1a; CSS样式&#xff1a; charset "utf-8"; import url("https://s2.pstatp.com/cdn/expire-1-M/font-awesome/4.7.0/css/font-awesome.min.css"); body {background-color: #1F1F1F;o…

python隐藏启动台_如何在Python中启动后台进程?

如何在Python中启动后台进程&#xff1f;我正在尝试将shell脚本移植到更易读的python版本。 原始shell脚本在后台使用“&#xff06;amp;”启动多个进程(实用程序&#xff0c;监视器等)。 如何在python中实现相同的效果&#xff1f; 我希望这些进程不会在python脚本完成时死掉。…

HTML+CSS+JS实现 ❤️swiper倾斜图片特效❤️

效果演示&#xff1a; 代码目录&#xff1a; 主要代码实现&#xff1a; CSS样式&#xff1a; .img_swiper {width: 800px;margin: 0 auto;position: relative; }.img {width: 100%;height: 100%; }.img_swiper .swiper-button-prev {width: 40px;height: 40px;background-im…

如何将c语言程序封装供python调用_C++调用python

C调用python在C/C中嵌入Python&#xff0c;可以使用Python提供的强大功能&#xff0c;通过嵌入Python可以替代动态链接库形式的接口&#xff0c;这样可以方便地根据需要修改脚本代码&#xff0c;而不用重新编译链接二进制的动态链接库。至少你可以把它当成文本形式的动态链接库…

HTML+CSS+JS实现 ❤️touchSlider图片滚动图片轮播❤️

效果演示&#xff1a; 代码目录&#xff1a; 主要代码实现&#xff1a; CSS样式&#xff1a; charset "utf-8"; * {margin: 0;padding: 0;list-style: none;border: 0; }body {width: 100%;margin: 0 auto;overflow: hidden }/* main_image */.main_visual {heigh…

win10配置mysql8.0_Win10下mysql 8.0.20 安装配置方法图文教程

Win10系统下MySQL 8.0.20安装和配置超详细教程MySQL下载MySQL直接去官网下载就行&#xff0c;选择community版本(免费)下载&#xff0c;链接。在select operating system中选择Microsoft Windows&#xff0c;下方对应出现最新版本的MySQL&#xff0c;目前是MySQL 8.0.20&#x…

HTML+CSS+JS实现 ❤️echarts省市区地图城市选择❤️

效果演示&#xff1a; 代码目录&#xff1a; 主要代码实现&#xff1a; CSS样式&#xff1a; * {margin: 0;padding: 0; }body {font-family: Exo, -apple-system, Open Sans, HelveticaNeue-Light, Helvetica Neue Light, Helvetica Neue, Hiragino Sans GB, Microsoft YaH…

基于SpringBoot+mybatis+layui就业管理系统设计和实现

&#x1f345; 作者主页&#xff1a;Java李杨勇 &#x1f345; 简介&#xff1a;Java领域优质创作者&#x1f3c6;、Java李杨勇公号作者✌ 简历模板、学习资料、面试题库、技术互助【关注我&#xff0c;都给你】 &#x1f345; 欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f…

java集合清空_java 集合删除数据

public static void main(String[] args) {List list new ArrayList<>(Arrays.asList(1, 2, 3, 4));// 常规删除// list.removeIf(next -> next 3);Iterator iterator list.iterator();while (iterator.hasNext()) {// Integer next iterator.next();// 当不执行 …

HTML+CSS+JS实现 ❤️图片轮播幻灯片❤️

效果演示&#xff1a; 文末获取源码 代码目录&#xff1a; 主要代码实现&#xff1a; CSS样式&#xff1a; font-face {font-weight: normal;font-style: normal; }.csslider1 {display: inline-block;position: relative;max-width: 833px;width: 100%;margin-top: 10px; }.…

single java_java single Pattern 单例模式

单例模式是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式&#xff0c;它涉及到一个单一的类&#xff0c;该类自己负责创建自己的对象并且确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式&#xff0c;可以直接访问&#xff0c;不需要实例化…

HTML+CSS+JS实现 ❤️ html5响应式图片轮播❤️

效果演示&#xff1a; 文末获取源码 代码目录&#xff1a; 主要代码实现&#xff1a; CSS样式&#xff1a; .flickerplate {position: relative;width: 100%;height: 600px;background-color: #e6e6e6;overflow: hidden }.flickerplate ul.flicks {width: 10000%;height: 100…

php time java_java 时间戳和PHP时间戳 的转换 php time()

最近在弄discuz,数据库mysql,时间类型int 10总结一下java 时间戳和PHP时间戳 的转换问题&#xff1a;由于精度不同&#xff0c;导致长度不一致&#xff0c;直接转换错误。JAVA时间戳长度是13位&#xff0c;如&#xff1a;1294890876859PHP时间戳长度是10位&#xff0c; 如&…

HTML+CSS+JS实现 ❤️HTML5图片幻灯片轮播切换❤️

效果演示&#xff1a; 文末获取源码 代码目录&#xff1a; 主要代码实现&#xff1a; HTML代码 : <!DOCTYPE html> <html><head><meta charset"utf-8"><meta name"viewport" content"widthdevice-width, initial-scale1…

HTML+CSS+JS实现echarts图表炫光分布地图动画

效果演示&#xff1a; 文末获取源码 代码目录&#xff1a; 主要代码实现&#xff1a; HTML代码 : <html lang"en"><head><meta charset"utf-8"><title>ECharts</title> </head><body style"background:#1B1…

java jndi使用_java – 使用JNDI进行数据库连接

那么,它是一个客户端应用程序&#xff1f;应用程序和数据库通常使用DriverManager#getConnection()获得的连接相互通信&#xff1f;如果是这样,那么您不一定需要JNDI才能使连接池工作.单独的连接池框架已经足够了.例如C3P0或Apache Commons DBCP(我建议使用C3P0; DBCP是单线程的…