我想知道MySQL VARCHAR类型的最大大小是什么。
我读到最大大小受行大小限制,约为65k。我尝试将字段设置为varchar(20000),但它说这太大了。
我可以把它设置为varchar(10000)我能设置的最大值是多少?
我想知道MySQL VARCHAR类型的最大大小是什么。
我读到最大大小受行大小限制,约为65k。我尝试将字段设置为varchar(20000),但它说这太大了。
我可以把它设置为varchar(10000)我能设置的最大值是多少?
当前回答
在我的情况下,我尝试了20'000根据@Firze答案(UTF8限制)和phpMyAdmin响应的最大大小;答案是减少或选择BLOB。
所以,我认为,最后,最好是根据你拥有的MySQL版本和使用的引擎来测试自己。因为MySQL / phpMyAdmin有安全措施。
其他回答
你也可以使用MEDIUMBLOB/LONGBLOB或MEDIUMTEXT/LONGTEXT
在MySQL中,一个BLOB类型最多可以存储65,534字节,如果你试图存储超过这个数量的数据,MySQL将截断数据。MEDIUMBLOB最多可以存储16,777,213个字节,LONGBLOB最多可以存储4,294,967,292个字节。
您可以使用TEXT类型,不限制为64KB。
源
varchar的最大长度取决于MySQL中的最大行大小, 64KB(不包括blob): 但是,请注意,如果您使用 多字节字符集: VARCHAR(21844)字符集utf8
在我的情况下,我尝试了20'000根据@Firze答案(UTF8限制)和phpMyAdmin响应的最大大小;答案是减少或选择BLOB。
所以,我认为,最后,最好是根据你拥有的MySQL版本和使用的引擎来测试自己。因为MySQL / phpMyAdmin有安全措施。
在Mysql 5.0.3版本之前,Varchar数据类型可以存储255个字符,但从5.0.3版本开始,它可以存储65,535个字符。
但是它的最大行大小限制为65,535字节。这意味着包括所有列,它不能超过65,535字节。
在你的情况下,可能当你试图设置超过10000时,它超过了65,535,mysql将给出错误。
欲了解更多信息:https://dev.mysql.com/doc/refman/5.0/en/column-count-limit.html
博客示例:http://sforsuresh.in/mysql_varchar_max_length/