如果我使用返回多行的語句為 MySQL 使用者變數賦值會發生什麼?
如果我們使用返回多行的語句為使用者變數賦值,則來自最後一行的資料將被儲存到該使用者變數中,因為使用者變數只能儲存單個值。以下面的示例為例,我們將使用表‘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’中的資料。現在,我們將把
‘companyname’列中的值賦值給變數@name,如下所示:
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)
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP