当前位置: 移动技术网 > IT编程>数据库>Mysql > MySQL中N/A和NULL对SELECT...INTO语句的影响

MySQL中N/A和NULL对SELECT...INTO语句的影响

2020年07月14日  | 移动技术网IT编程  | 我要评论

一、前言

       编写mysql函数,函数运行结果错误,发现是由于使用SELECT...INTO对重复使用的变量赋值失败导致错误。

重复使用一个变量,第二次变量赋值失败,仍然是首次赋值的值,原始是第二次查询结果是N/A。

SELECT N/A INTO 变量;   -- 这种赋值方式会赋值失败,会保留上次的值。

二、测试

1.创建测试数据表

CREATE TABLE test ( id INT auto_increment, num INT, PRIMARY KEY ( id ) );

2.插入数据

INSERT INTO `demo`.`test`(`id`, `num`) VALUES (2, NULL);
INSERT INTO `demo`.`test`(`id`, `num`) VALUES (3, 3);

3.测试

(1)情景一:数据库中无此条数据

set @a = 100;

SELECT num from test where id = '1' into @a;

-- SELECT num from test where id = '2' into @a;

-- SELECT num from test where id = '3' into @a;

SELECT @a;

结果:100

(2)情景二:数据库中存在此条数据,但是数据为null

set @a = 100;

-- SELECT num from test where id = '1' into @a;

SELECT num from test where id = '2' into @a;

-- SELECT num from test where id = '3' into @a;

SELECT @a;

结果:Null

(3)情景三:数据库中存在词条数据,并且值是3

set @a = 100;

-- SELECT num from test where id = '1' into @a;

-- SELECT num from test where id = '2' into @a;

SELECT num from test where id = '3' into @a;

SELECT @a;

结果:3

本文地址:https://blog.csdn.net/cs373616511/article/details/107318142

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网