你可以将CHAR设置为NULL或空字符串吗?

Bre*_*ett 5 mysql null char

我过去没有使用过CHAR,因为我似乎过多使用VARCHAR; 我最近在适当时尝试使用CHAR,并且根据我的理解,当数据在某个列中的长度相同时使用它(否则用空格填充).

因为所有的数据应该是相同的长度,我想知道CHAR字段可以是NULL还是空字符串?对于特定字段没有值而其他字段具有价值的情况.

Jes*_*ebb 7

你的问题的答案是肯定的.

是的,CHAR类型可以是NULLable.我相信每个列类型都允许NULL.

是的,CHAR类型可以是空字符串.DB不会看到与任何其他字符串不同的空字符串.我不建议使用空字符串,因为在几乎每种情况下,空字符串(缺少任何字符)都试图表示缺少数据,这就是NULL的用途.

如果你想知道有关MySQL中CHAR与VARCHAR差异的更多具体细节......

MySQL 5.0参考 - CHAR和VARCHAR类型

  • 关于CHAR vs VARCHAR的另一件好事......"请注意,如果整个记录是固定大小的话,使用CHAR只会加快访问速度.也就是说,如果你使用任何可变大小的对象,你可能会做所有的它们的大小可变.通过在包含VARCHAR的表中使用CHAR,您无法获得速度." - Julian Morrison(来自与答案相关的文档中的评论) (3认同)