考虑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
教程中写的东西是对吗?
答案 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。