哪个是在MySQL中使用的正确的文本数据类型?

时间:2011-02-09 14:20:01

标签: mysql text types char varchar

有VARCHAR,CHAR,TEXT,BIGTEXT,BLOB ......

在存储小文本字段时使用哪种正确的数据类型(例如first_name)?

2 个答案:

答案 0 :(得分:3)

对于大多数小文本字段,我通常使用VARCHAR,除非我知道该字段将是固定大小,如美国州缩写,我将使用CHAR(2)。

答案 1 :(得分:0)

“正确”是一个强有力的词,但大多数人可能会使用VARCHARCHAR也是一种选择,但在我的体验中并不常用。 This page解释了差异。

最新版本的MySQL中CHARVARCHAR之间的显着差异之一是CHAR无法存储尾随空格(因为列会自动填充到其最大长度通过空间)。因此,如果您存储'abc '之类的内容,则会将其检索为'abc'。对于大多数应用程序而言,这可能无关紧要,但需要牢记这一点。类似地,在5.03之前,在插入之前从VARCHAR字段中删除尾随空格。因此,如果您需要存储任意字节值并且不想担心MySQL版本之间的不同行为,则应使用BLOB类型之一。