如果MySQL中的值为null,则将default插入not null列中?

您可以使用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)

以上是 如果MySQL中的值为null,则将default插入not null列中? 的全部内容, 来源链接: utcz.com/z/331137.html

回到顶部