您可以使用IS NULL属性IFNULL()
或简单IF()
的IS NULL属性。语法如下-
INSERT INTO yourTableName(yourColumnName1,yourColumnName2) VALUES('yourValue’',IF(yourColumnName1 IS NULL,DEFAULT(yourColumnName2),'yourMessage'));
为了理解上述语法,让我们创建一个表。创建表的查询如下-
mysql> create table Post -> ( -> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, -> UserName varchar(10), -> UserPostMessage varchar(50) NOT NULL DEFAULT 'Hi Good Morning !!!' -> );
现在,如果值为null,则可以将default插入到not null列中。查询如下-
mysql> insert into Post(UserName,UserPostMessage) -> values('John',if(UserName IS NULL,DEFAULT(UserPostMessage),'Hello')); mysql> insert into Post(UserName,UserPostMessage) -> values(NULL,if(UserName IS NULL,DEFAULT(UserPostMessage),'Hello')); mysql> insert into Post(UserName,UserPostMessage) -> values('Carol',if(UserName IS NULL,DEFAULT(UserPostMessage),'Hello'));
使用select语句显示表中的所有记录。查询如下-
mysql> select *from Post;
以下是输出-
+----+----------+---------------------+ | Id | UserName | UserPostMessage | +----+----------+---------------------+ | 1 | John | Hello | | 2 | NULL | Hi Good Morning !!! | | 3 | Carol | Hello | +----+----------+---------------------+ 3 rows in set (0.00 sec)