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值?
答案 0 :(得分:3)
在information_schema.columns
中,如果COLUMN_DEFAULT
为NULL
且IS_NULLABLE
为NO
,则它没有默认值。
但基本上您可以将其视为:默认情况下,如果未指定,则始终为NULL
。因此,c2
不允许为NULL
,但默认为NULL
,因此始终需要在插入语句中指定。
注意:指定为NOT NULL
的字段不需要能够代表NULL
,因此理论上它可以占用(略微)更少的空间。