如果我使用返回多行的语句为 MySQL 用户变量赋值,会发生什么情况?
短信预约 -IT技能 免费直播动态提醒
万一,如果我们使用返回多行的语句为用户变量赋值,那么最后一行的值将保存在该用户变量中,因为用户变量可以保存只有单一值。在下面的示例中,我们使用表“Tender”中的数据,将展示它 -
示例
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)
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341