首页  >  文章  >  数据库  >  准备好的语句和 MySQL 用户变量有什么相似之处?

准备好的语句和 MySQL 用户变量有什么相似之处?

WBOY
WBOY转载
2023-08-24 19:57:06907浏览

准备好的语句和 MySQL 用户变量有什么相似之处?

众所周知,MySQL 用户变量特定于使用它们的客户端连接,并且仅在该连接期间存在。当连接结束时,其所有用户变量都会丢失。同样,准备好的语句也仅在创建它的会话期间存在,并且对创建它的会话可见。当会话结束时,该会话的所有准备好的语句都将被丢弃。

另一个相似之处是准备好的语句也不像 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 时,它们的工作方式都是相同的,因为准备好的语句不区分大小写。

以上是准备好的语句和 MySQL 用户变量有什么相似之处?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文转载于:tutorialspoint.com。如有侵权,请联系admin@php.cn删除