Sha*_*oor 9 mysql default-value
我有下表:
CREATE TABLE `Foo` (
`id` int NOT NULL,
`FirstName` varchar(255) NULL,
`LastName` varchar(255) NOT NULL DEFAULT 'NONE',
PRIMARY KEY (`id`)
);
Run Code Online (Sandbox Code Playgroud)
当我运行以下查询时,它采用默认值'NONE':
INSERT INTO Foo (`FirstName`) VALUES('FOO');
Run Code Online (Sandbox Code Playgroud)
当我运行以下查询时:
INSERT INTO Foo (`FirstName`, `LastName`) VALUES('FOO', NULL);
Run Code Online (Sandbox Code Playgroud)
它给出了一个错误:
[Err] 1048 - Column 'LastName' cannot be null
我想要实现的是,如果一个值是NULL那么 MySQL 应该使用DEFAULT值。
有人知道解决方案吗?
尝试这个
使用NULL而不是 NOT NULL
CREATE TABLE `Foo` (
`id` int NOT NULL ,
`FirstName` varchar(255) NULL ,
`LastName` varchar(255) NULL DEFAULT 'NONE' ,
PRIMARY KEY (`id`)
);
Run Code Online (Sandbox Code Playgroud)
并像这样查询
使用DEFAULT而不是NULL
INSERT INTO Foo ( `FirstName`, `LastName` ) VALUES('FOO', DEFAULT);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7249 次 |
| 最近记录: |