在MySQL数据库中,我该如何将一个varchar设置为无限长度,以便存储长网页?如果不行的话,那么最大长度是多少?
我知道可以使用Text类型来存储更长的字符串。在使用text数据类型时是否有任何限制需要处理?
我知道可以使用Text类型来存储更长的字符串。在使用text数据类型时是否有任何限制需要处理?
VARCHAR
可以存储最多255个字符,在5.0.3及以后的版本中可以存储65,535个字符。TEXT
、MEDIUMTEXT
和LONGTEXT
数据类型: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 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)
为了回答他问题的另一部分...
根据软件版本、数据存储引擎等,可能会出现各种意想不到的限制。
我遇到过这些问题。
ALTER TABLE reportserver.report ADD reportquery varchar(65535)
ALTER TABLE reportserver.report ADD reportquery varchar(21845)
你可以使用varchar2。在许多方面它比varchar更好。
http://www.orafaq.com/faq/what_is_the_difference_between_varchar_varchar2_and_char_data_types
或者
你可以尝试TEXT。它会对你有用。
mysql
的tag
,因为在oracle
中,varchar2
的类型是唯一的。 - jmail
text
类型,而不是其他类型。 - M Khalid Junaidvarchar(max)
是另一个选项。总是有一个限制。 - Sully