দুটোই অ্যাসাইনমেন্ট অপারেটর এবং মান অ্যাসাইন করতে ব্যবহৃত হয় কিন্তু উল্লেখযোগ্য পার্থক্য:
= অপারেটর মান অ্যাসাইন করে SET স্টেটমেন্টের অংশ হিসেবে বা UPDATE স্টেটমেন্টের SET ক্লজের অংশ হিসেবে। অন্য কোনো কেসে = অপারেটর তুলনা অপারেটর হিসেবে ব্যাখ্যা হয়। অন্যদিকে := অপারেটর মান অ্যাসাইন করে এবং কখনো তুলনা অপারেটর হিসেবে ব্যাখ্যা হয় না।
mysql> Update estimated_cost1 SET Tender_value = '8570.000' where id = 2; Query OK, 1 row affected (0.06 sec) Rows matched: 1 Changed: 1 Warnings: 0 mysql> Update estimated_cost1 SET Tender_value := '8575.000' where id = 2; Query OK, 1 row affected (0.06 sec) Rows matched: 1 Changed: 1 Warnings: 0
উপরের দুটি কোয়ারীতে = এবং := অপারেটর দিয়ে টেবিল আপডেট করা হয়েছে।
mysql> Set @A = 100; Query OK, 0 rows affected (0.01 sec) mysql> Select @A; +------+ | @A | +------+ | 100 | +------+ 1 row in set (0.00 sec) mysql> Set @B := 100; Query OK, 0 rows affected (0.00 sec) mysql> Select @B; +------+ | @B | +------+ | 100 | +------+ 1 row in set (0.00 sec)
উপরের দুটি কোয়ারীতে = এবং := দিয়ে ইউজার ভেরিয়েবলে মান অ্যাসাইন করা হয়েছে। দুটি কেসে একই ব্যবহার এবং ফাংশনালিটি। কিন্তু নিচের কোয়ারীতে = অপারেটর তুলনা অপারেটর হিসেবে কাজ করে এবং ফলাফল 'TRUE' (১) দেয় কারণ @A এবং @B এর মান একই:
mysql> Select @A = @B; +---------+ | @A = @B | +---------+ | 1 | +---------+ 1 row in set (0.00 sec)