Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

จะเกิดอะไรขึ้นหากฉันจะกำหนดค่าให้กับตัวแปรผู้ใช้ 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)

ชุดผลลัพธ์ด้านบนแสดงข้อมูลจากตาราง 'ประกวดราคา' ตอนนี้เราจะกำหนดค่าใน

คอลัมน์ 'ชื่อบริษัท' ในตัวแปร @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)