varchar(N)中的N指的是varchar的长度,如果超出这个设置的长度,保存数据将会报错。

为什么说是长度可变的?

  • char(N):定长字符,固定长度,当你的长度小于N时使用空格填充。
  • 例:如果设置char(5),你输入“abc”这个长度为3,小于设置长度5,那多余出来的2位就使用空格来填充。
  • varchar(N):长度可以变化,当你的长度小于N时,不会有N个存储空间,只有你的实际长度加一,加一是因为额外使用一位来保存的长度,这是在N小于255的前提下。
    如果N大于255,则将使用额外的两位来保存长度。
  • 例:设置varchar(10),输入“adc” 长度为3,小于设置长度10,那么保存时则会只用3位的长度,多余的7位不会被填充,这也是为什么varchar叫长度可变。
    长度可变指的是不是设置长度为多少保存时就要保存多少,而已根据实际数值来保存长度。
 因此在设置varchar的长度时,长度一般设255,超出255的话会使用两位来保存长度这样会降低性能。
 我们使用255设置是可以的,但会影响性能,实际开发中我们还是最好根据需求来设置长度。
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐