【发布时间】:2014-03-31 08:12:15
【问题描述】:
在 MySQL 数据库中,如何将 varchar 设置为无限长,以便存储长网页?如果不是,那么最大尺寸是多少?
我知道文本类型可以存储更大的字符串。使用我必须处理的测试数据类型有什么限制吗?
【问题讨论】:
-
改用
text类型 -
varchar(max)是另一种选择。总是有限制的。
标签: mysql
在 MySQL 数据库中,如何将 varchar 设置为无限长,以便存储长网页?如果不是,那么最大尺寸是多少?
我知道文本类型可以存储更大的字符串。使用我必须处理的测试数据类型有什么限制吗?
【问题讨论】:
text类型
varchar(max) 是另一种选择。总是有限制的。
标签: mysql
在 MySQL 5.0.3 之前,VARCHAR 最多可以存储 255 个字符,在 5.0.3 及更高版本中可以存储 65,535 个字符。
要在 Mysql 数据库中存储大数据,您可以使用
文本、中文本、长文本
TEXT can store 65,535 characters (approx 64KB)
MEDIUMTEXT = 16,777,215 characters (approx 16 MB)
LONGTEXT = 4,294,967,295 chars (approx 4GB)
【讨论】:
你应该试试这个方法:参考这个链接:
alter table table_name modify col_name varchar(10000)
ALTER TABLE `table_name`
CHANGE COLUMN `col_name` `col_name` VARCHAR(10000);
否则你应该使用这个方法:
TEXT can store 65,535 characters (approx 64KB)
MEDIUMTEXT = 16,777,215 characters (approx 16 MB)
LONGTEXT = 4,294,967,295 chars (approx 4GB)
【讨论】:
您可以尝试使用 varchar(max)
【讨论】:
回答他问题的另一部分......
根据软件版本、数据存储引擎等的不同,可能存在各种无法预料的限制。
我遇到了这些。
ALTER TABLE reportserver.report ADD reportquery varchar(65535)
错误代码:1074。对于列“reportquery”,列长度太大(最大值 = 21845);改用 BLOB 或 TEXT
ALTER TABLE reportserver.report ADD reportquery varchar(21845)
错误代码:1118。行大小太大。使用的表类型的最大行大小(不包括 BLOB)为 65535。这包括存储开销,请查看手册。您必须将某些列更改为 TEXT 或 BLOB
您在设置表格时可能会遇到这些问题,或者根本不会遇到这些问题,但与其冒无法添加更多列或无法使列更宽的风险,您可能希望直接走 TEXT 路线如果您的列很宽,请远离。
【讨论】:
您可以使用 varchar2。它在很多方面都比 varchar 好
http://www.orafaq.com/faq/what_is_the_difference_between_varchar_varchar2_and_char_data_types
或者
你可以试试 TEXT。它会为你工作
【讨论】:
tag,他只在oracle 中提到mysql 类型varchar2..