varchar 和 int mysql 数据类型的默认值
Posted
技术标签:
【中文标题】varchar 和 int mysql 数据类型的默认值【英文标题】:Default values for varchar and int mysql data types 【发布时间】:2012-05-23 05:39:36 【问题描述】:截图显示了数据类型的 3 种典型定义:id(自动增量)、标题和数字。
1.- none
和 NULL
之间有哪些区别?
2.- 当我想要一个空字符串时,是否必须为 varchar 类型选择 as defined: ''
?
3.- 我必须为自动增量 int 类型设置一个as defined: 0
默认值吗?
【问题讨论】:
【参考方案1】:Default none 表示没有默认值。如果插入时未提供值,则查询将失败并出现“无默认值错误”。
NULL 是实际的 NULL 值,这意味着如果在插入时未提供任何值,则该列将默认为 NULL(空)。对于 varchar,您可以将默认值设置为 '',但 NULL 更好。
Autoincrement int 类型不应该有默认值(默认值:None),因为它总是有一个值。
【讨论】:
为了进一步说明,要使用 NULL 作为默认值,列必须允许 NULL 值。 对于整数类型NULL会插入0(零)吗? 马库斯,你是对的 - “在插入时”我将编辑我的答案。 另一个值得注意的有趣的事情是,如果您对列禁用 ALLOW NULL,并且您没有指定默认值 (NONE),它仍将使用类型的默认值(0 表示 INTEGER , '' for VARCHAR) 来替换 NULL 值。以上是关于varchar 和 int mysql 数据类型的默认值的主要内容,如果未能解决你的问题,请参考以下文章
在 MySQL 中将 int 转换为 varchar 数据类型