即使 MySQL 查询没有结果,也会返回值?
mysqlmysqli database
即使没有结果,您也可以使用 MySQL 中的 IFNULL() 函数返回值。让我们创建一个表。使用查询来创建表。
mysql> create table IfNullDemo −> ( −> Id int, −> Name varchar(100) −> ); Query OK, 0 rows affected (0.60 sec)
使用insert命令在表中插入一些记录,查询如下 −
mysql> insert into IfNullDemo values(1,'John'); Query OK, 1 row affected (0.18 sec) mysql> insert into IfNullDemo values(200,'Sam'); Query OK, 1 row affected (0.21 sec) mysql> insert into IfNullDemo values(204,'Carol'); Query OK, 1 row affected (0.14 sec) mysql> insert into IfNullDemo values(510,'Johnson'); Query OK, 1 row affected (0.18 sec)
使用 select 语句显示表中的所有记录。查询如下 −
mysql> select *from IfNullDemo;
以下是输出 −
+------+---------+ | Id | Name | +------+---------+ | 1 | John | | 200 | Sam | | 204 | Carol | | 510 | Johnson | +------+---------+ 4 rows in set (0.00 sec)
首先让我们返回一个 TRUE 条件的值 −
查询如下 −
mysql> select ifnull((select Id from IfNullDemo where Id = 200),'No Result Found') As ResultFound;
以下是输出 −
+-------------+ | ResultFound | +-------------+ | 200 | +-------------+ 1 row in set (0.00 sec)
现在,让我们使用 IFNULL 方法返回一个值,如果没有结果。查询如下 −
mysql> select ifnull((select Id from IfNullDemo where Id = 400),'No Result Found') As ResultFound;
以下是输出 −
+-----------------+ | ResultFound | +-----------------+ | No Result Found | +-----------------+ 1 row in set (0.00 sec)