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.- noneNULL 之间有哪些区别? 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 数据类型

MySQL中怎么对varchar类型排序问题

Mysql数据库按照varchar字符串类型排序和按照int整型类型排序的区别和注意点及解决方案

Mysql数据类型

mysql数据类型/注意事项/int(20)混淆

MySQL索引和字段类型,字段长度