MySQL:对于非null默认值,COLUMN_DEFAULT始终为NULL

时间:2013-01-22 06:30:10

标签: mysql null default create-table

CREATE TABLE `test` (
`id` INT(10) UNSIGNED NOT NULL,
`c1` VARCHAR(60) NULL DEFAULT NULL,
`c2` VARCHAR(60) NOT NULL,
PRIMARY KEY (`id`)
 )

在information_schema.columns.COLUMN_DEFAULT中,c1,c2列都包含NULL,但c2没有默认值。

如何获得真正的COLUMN_DEFAULT值?

1 个答案:

答案 0 :(得分:3)

information_schema.columns中,如果COLUMN_DEFAULTNULLIS_NULLABLENO,则它没有默认值。

但基本上您可以将其视为:默认情况下,如果未指定,则始终为NULL。因此,c2不允许为NULL,但默认为NULL,因此始终需要在插入语句中指定。

注意:指定为NOT NULL的字段不需要能够代表NULL,因此理论上它可以占用(略微)更少的空间。