ความคล้ายคลึง 2 ข้อหลัก
1. ขอบเขตการมีอยู่ (Scope) - ผูกกับ session/connection
- User variables: เฉพาะเจาะจงต่อการเชื่อมต่อไคลเอ็นต์ มีอยู่เฉพาะระยะเวลาของการเชื่อมต่อนั้น หยุดการเชื่อมต่อ -> หายไป
- Prepared statements: มีอยู่เฉพาะระยะเวลาของ session ที่สร้างขึ้น มองเห็นได้เฉพาะใน session ที่สร้าง จบ session -> ถูกทิ้ง (discarded)
2. ไม่คำนึงถึงตัวพิมพ์เล็ก/ใหญ่ (Case-insensitive)
ทั้งคู่ไม่คำนึงถึง case-sensitive
ตัวอย่าง Prepared statements ไม่ case-sensitive:
mysql> PREPARE stmt11 FROM 'UPDATE Student SET Name = ? WHERE Id = ?'; mysql> SET @A = 'Sohan', @B = 3; mysql> EXECUTE Stmt11 USING @A, @B; -- ตัวพิมพ์ใหญ่ Query OK, 1 row affected mysql> SET @A = 'Gaurav', @B = 3; mysql> EXECUTE STMT11 USING @A, @B; -- ตัวพิมพ์ใหญ่ทั้งหมด Query OK, 1 row affected
stmt11 และ STMT11 ทำงานเหมือนกัน