同一个表中的char和varchar

时间:2011-05-04 09:49:21

标签: mysql

考虑此表,其中密码具有固定大小,并且用户名的长度不同。我想我已经阅读过某些地方,在MySQL中,如果你在表中使用一个varchar字段,最好独家使用varchar而不是混合char和varchar字段。这是对的吗?

create table users
(
id SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT,
username VARCHAR(100) NOT NULL, # variable length
password CHAR(60) NOT NULL, # fixed length
PRIMARY_KEY(id),
UNIQUE(username)
);

1 个答案:

答案 0 :(得分:1)

不同之处在于char将使用整个60个字符并使用空格填充。 varchar不会填充空格。如果您有理由将它们用于不同目的,则没有理由不使用它们。一般来说,我会将varchar用于这两种方式。