User variable เก็บได้แค่ค่าเดียว - จะเก็บค่าจากแถวสุดท้าย
หากกำหนดค่าให้ user variable โดยใช้คำสั่งที่คืนหลายแถว ค่าจาก แถวสุดท้าย จะถูกเก็บในตัวแปรนั้น เพราะ user variable เก็บค่าได้เพียงค่าเดียว
ตัวอย่าง
ข้อมูลตาราง 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 | +----+---------------+--------------+
กำหนดค่า companyname ให้ @name (คืน 5 แถว):
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)
แต่ตอนอ้างอิง @name จะได้แค่ค่าแถวสุดท้าย:
mysql> Select @name; +-------------+ | @name | +-------------+ | Honda group | +-------------+ 1 row in set (0.00 sec)