我过去没有使用过CHAR,因为我似乎过多地使用VARCHAR;我最近在适当时尝试使用CHAR&根据我的理解,当数据在某一列中的长度相同时,你会使用它(否则用空格填充)。
因为所有数据都应该是相同的长度,我想知道CHAR字段可以是NULL还是空字符串?对于特定字段没有值而其他字段有效的情况。
答案 0 :(得分:7)
您的问题的答案是肯定的。
是的,CHAR类型可以为NULL。我相信每个列类型都允许NULL。
是的,CHAR类型可以是空字符串。 DB不会看到与任何其他字符串不同的空字符串。我不建议使用空字符串,因为在几乎每种情况下,空字符串(缺少任何字符)都试图表示缺少数据,这就是NULL的用途。
如果您想了解更多关于MySQL中CHAR与VARCHAR差异的具体细节......
答案 1 :(得分:2)
是的,可以使用NULL和空字符串。正如您所指出的那样,数据 与列中的长度不同,任何较小的数据都只是用空格填充以填充列。