MySQL ইউজার ভেরিয়েবলের প্রধান বৈশিষ্ট্যগুলো নিচে দেওয়া হলো:
১. কেস-ইনসেনসিটিভ (Not Case-Sensitive)
ইউজার ভেরিয়েবল কেস-ইনসেনসিটিভ। MySQL 5-এর আগে কেস-সেনসিটিভ ছিল।
mysql> SET @A = 'MySQL'; mysql> Select @A, @a; +-------+-------+ | @A | @a | +-------+-------+ | MySQL | MySQL | +-------+-------+
২. ক্লায়েন্ট কানেকশন-নির্দিষ্ট
ইউজার ভেরিয়েবল শুধু সেই ক্লায়েন্ট কানেকশনের মধ্যে কাজ করে যেখানে সেটি তৈরি করা হয়েছে। কানেকশন শেষ হলে সব ইউজার ভেরিয়েবল হারিয়ে যায়।
৩. শুধু এক্সপ্রেশন-এ কাজ করে
ইউজার ভেরিয়েবল শুধু এক্সপ্রেশনে ব্যবহার করা যায়। টেবিল নাম বা কলাম নাম হিসেবে ব্যবহার করা যায় না।
mysql> Set @table_name = CONCAT('tbl_','Employee');
mysql> Create Table @table_name(Id Int);
ERROR 1064: You have an error in your SQL syntax near '@table_name(Id Int)'
৪. নতুন মান এসাইন করলে পুরানো মান হারায়
একই ভেরিয়েবলে নতুন মান এসাইন করলে পুরানো মান হারায়।
mysql> SET @name = 'Rahul'; mysql> Select @name; -- 'Rahul' mysql> SET @name = 'Raman'; mysql> Select @name; -- 'Raman' (পুরানো 'Rahul' হারিয়ে গেল)