在Mysql中定义CHAR类型的长度

时间:2012-07-05 04:53:54

标签: mysql types

考虑MySQL中的两种String类型

1.Char [LENGTH]

2.Varchar [LENGTH]

问题:是否需要定义 LENGTH 字段对于哪种类型的Varchar或Char?

根据我的观点,它是Char但是在一个教程中写道,你必须为Varchar定义Length,而Char类型没有这样的要求。

CHAR(M) - 长度在1到255个字符之间的固定长度字符串(例如

CHAR(5)),在存储时用空格填充指定长度。定义长度

不是必需的,但默认值为1.

VARCHAR(M) - 长度在1到255个字符之间的可变长度字符串;为了

示例VARCHAR(25)。您必须在创建VARCHAR字段时定义长度。

链接:www.tutorialspoint.com/mysql/mysql-data-types.htm

教程中写的东西是对吗?

1 个答案:

答案 0 :(得分:2)

如果我清楚你正在寻找什么。

看看这个。

CREATE TABLE mytable (column1 VARCHAR(20), column2 CHAR);

insert into mytable values('stackoverflow','v');
select * from mytable;

如果没有指定char数据类型的长度,则默认值为1。

现在,如果您尝试insert string in column2超过长度1,则会引发错误。

总结:varchar数据类型需要长度,否则会引发错误,如果你没有指定长度,那么在char数据类型中默认为1。