数据库
首页 > 数据库> > MySql默认值为Null

MySql默认值为Null

作者:互联网

我有下表

CREATE TABLE `Foo` (
`id`  int NOT NULL ,
`FirstName`  varchar(255) NULL ,
`LastName`  varchar(255) NOT NULL DEFAULT  'NONE' ,
PRIMARY KEY (`id`)
);

当我运行以下查询时,它采用默认值= NONE

INSERT INTO Foo ( `FirstName`) VALUES('FOO');

当我运行以下查询时

INSERT INTO Foo ( `FirstName`, `LastName` ) VALUES('FOO', NULL);

它给出了一个错误

`[Err] 1048 - Column 'LastName' cannot be null`

我想如果值为NULL,那么mysql应该使用默认值..任何更新?

解决方法:

试试这个

使用NULL而不是NOT NULL

CREATE TABLE `Foo` (
`id`  int NOT NULL ,
`FirstName`  varchar(255) NULL ,
`LastName`  varchar(255) NULL DEFAULT  'NONE' , 
PRIMARY KEY (`id`)
);

和这样的查询

使用DEFAULT而不是NULL

INSERT INTO Foo ( `FirstName`, `LastName` ) VALUES('FOO', DEFAULT);

标签:mysql,default-value
来源: https://codeday.me/bug/20190910/1799302.html