Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Điểm giống nhau giữa Prepared Statements và User Variables

Hai đặc tính chung

  1. Phạm vi phiên (Session-scoped): Cả hai chỉ tồn tại trong phiên kết nối (session/connection) tạo ra chúng. Khi phiên kết thúc, đều bị hủy.
  2. Không phân biệt chữ hoa/thường (Case-insensitive): stmt11 và STMT11 là cùng một prepared statement; @A và @a là cùng một user variable.

Ví dụ case-insensitive của Prepared Statement

mysql> PREPARE stmt11 FROM 'UPDATE Student SET Name = ? WHERE Id = ?';
mysql> SET @A = 'Sohan', @B = 3;
mysql> EXECUTE stmt11 USING @A, @B;  -- dùng stmt11
mysql> SET @A = 'Gaurav', @B = 3;
mysql> EXECUTE STMT11 USING @A, @B;  -- dùng STMT11 (viết hoa) -> vẫn chạy