mysql sql限制_mysql – SQL varchar字符限制

我已经阅读了varchar的不同解释,到目前为止我已经得到了这个:

CHAR( ) fixed from 0 to 255 characters long

VARCHAR( ) variable from 0 to 255 characters long

TINYTEXT maximum length of 255 characters

TEXT maximum length of 65535 characters

BLOB maximum length of 65535 characters

MEDIUMTEXT maximum length of 16777215 characters

MEDIUMBLOB maximum length of 16777215 characters

LONGTEXT maximum length of 4294967295 characters

LONGBLOB maximum length of 4294967295 characters

然后这个

> char(n)变量存储固定长度的字符串,该字符串恰好包含n个字符(因此,n个字节).它们的大小限制为8,000个字符.

> nchar(n)变量存储固定长度的Unicode字符串,该字符串恰好包含n个字符(因此,2 * n个字节).它们的大小限制为4,000个字符.

> varchar(n)变量存储由大约n个字符组成的非固定长度字符串.它们消耗l 2个字节的空间,其中l是字符串的实际长度.它们的大小限制为8,000个字符.

> nvarchar(n)变量存储由大约n个字符组成的非固定长度Unicode字符串.它们消耗2 * l 2个字节的空间,其中l是字符串的实际长度.它们的大小限制为4,000个字符.

> varchar(max)变量存储非固定长度的字符串,最多包含1,073,741,824个字符.它们消耗l 2个字节的空间,其中l是字符串的实际长度.

> nvarchar(max)变量存储非固定长度的Unicode字符串,最多包含536,870,912个字符.它们占用l * 2 2个字节的空间,其中l是字符串的实际长度.

> text和ntext变量最多可存储2GB的文本数据(分别为ANSI和Unicode),但不能在许多文本操作中使用.因此,它们通常仅用于支持遗留应用程序,并且已被varchar(max)和nvarchar(max)数据类型替换.

那么varchar上的字符最大值是多少?我想知道的原因是我正在启动一个简单的小CMS并且我不希望我的SQL DB超重而且你可以看到例如

nvarchar(max)[length] * 2 + 2

nvarchar being 100,000 * 2 + 2 = 200,002 bytes (what is + 2 is it literal?)

另外我已经读过varchar(8,000)比varchar(max)更好所以你会建议我用于变化的字符长度的类型,特别是对于内容.

解决方法:

The length can be specified as a value from 0 to 255 before MySQL 5.0.3,

and 0 to 65,535 in 5.0.3 and later versions.

我不认为你的第二个贴在谈论的MySQL.

标签:sql,mysql,character,varchar

来源: https://codeday.me/bug/20190830/1770622.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值