prepared statements 和 MySQL 用户变量之间的相似之处是什么?
我们知道 MySQL 用户变量特定于使用它们的客户端连接,并且仅在该连接持续时间内存在。当连接结束时,其所有用户变量都会丢失。类似地,prepared statements 也仅在创建它的会话持续时间内存在,并且在创建它的会话中可见。当会话结束时,该会话的所有 prepared statements 都会被丢弃。
另一个相似之处是 prepared statements 也不区分大小写,就像 MySQL 用户变量一样。例如,stmt11 和 STMT11 都是相同的,如下例所示:-
mysql> Select * from student; +------+-------+ | Id | Name | +------+-------+ | 1 | Ram | | 2 | Shyam | | 3 | Rohan | +------+-------+ 3 rows in set (0.00 sec) mysql> SET @A = 'Sohan', @B = 3; Query OK, 0 rows affected (0.00 sec) mysql> EXECUTE Stmt11 USING @A, @B; Query OK, 1 row affected (0.12 sec) mysql> Select * from Student; +------+-------+ | Id | Name | +------+-------+ | 1 | Ram | | 2 | Shyam | | 3 | Sohan | +------+-------+ 3 rows in set (0.00 sec) mysql> SET @A = 'Gaurav', @B = 3; Query OK, 0 rows affected (0.00 sec) mysql> EXECUTE STMT11 USING @A, @B; Query OK, 1 row affected (0.04 sec) mysql> Select * from Student; +------+--------+ | Id | Name | +------+--------+ | 1 | Ram | | 2 | Shyam | | 3 | Gaurav | +------+--------+ 3 rows in set (0.00 sec)
在上述示例中,一旦我们执行了 stmt11,下次我们执行了 STMT11,两者作用相同,因为 prepared statements 不区分大小写。
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP