很多人对我说,设置VARCHAR(100)没有意义。它和255相同。我想知道为什么......
答案 0 :(得分:3)
那是垃圾。他们可能在谈论这样一个事实:varchar
使用一个字节作为长度,无论最大长度是100还是255(长度超过它将使用两个字节,最多约64K),但它们是区别对待。
如果在前者中插入一个150个字符的字符串,它将被截断为100,对于后一种情况则不然。
你应该使用有意义的长度。如果您的列不会超过30个字符,则不使用varchar(255)
。
有关类型详情,请参阅here。
答案 1 :(得分:1)
http://msdn.microsoft.com/en-us/library/aa258242%28v=sql.80%29.aspx
VARCHAR(100)确实有意义,它表示输入的最大大小为100个字符(如果你要插入一个更长的字符串,它将把它切成100个大小)。
VARCHAR(256)它表示输入的最大大小为256个字符。