如果我使用返回多行的语句为MySQL用户变量分配值会发生什么?

如果我使用返回多行的语句为MySQL用户变量分配值会发生什么?

如果我们使用返回多行的语句为用户变量分配值,那么最后一行的值将保存在该用户变量中,因为用户变量只能保存单个值。下面的示例使用来自表“Tender”的数据来说明它-

阅读更多:MySQL 教程

示例

mysql> select * from Tender; 
+----+---------------+--------------+ 
| Sr | CompanyName   | Tender_value | 
+----+---------------+--------------+ 
| 1  | Abc Corp.     |   250.369003 | 
| 2  | Khaitan Corp. |   265.588989 | 
| 3  | Singla group. |   220.255997 | 
| 4  | Hero group.   |   221.253006 | 
| 5  | Honda group   |   225.292266 | 
+----+---------------+--------------+ 
5 rows in set (0.04 sec)

上面的结果集显示了来自表“Tender”的数据。现在我们将如下所示的值分配到变量@name的列“companyname”中-

mysql> Select @name := companyname from tender; 
+----------------------+ 
| @name := companyname | 
+----------------------+ 
| Abc Corp.            | 
| Khaitan Corp.        | 
| Singla group.        | 
| Hero group.          | 
| Honda group          | 
+----------------------+ 
5 rows in set (0.00 sec)

但是,现在当我们引用这个变量时,它只给出了最后一行的公司名称。这是因为用户变量只能存储一个值。

mysql> Select @name; 
+-------------+ 
| @name       | 
+-------------+ 
| Honda group | 
+-------------+ 
1 row in set (0.00 sec)

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程