ホームページ  >  記事  >  データベース  >  準備されたステートメントと MySQL ユーザー変数の類似点は何ですか?

準備されたステートメントと MySQL ユーザー変数の類似点は何ですか?

WBOY
WBOY転載
2023-08-24 19:57:06907ブラウズ

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

ご存知のとおり、MySQL ユーザー変数は、それを使用するクライアント接続に固有であり、その接続の間のみ存在します。接続が終了すると、そのユーザー変数はすべて失われます。同様に、準備されたステートメントは、それを作成したセッション中にのみ存在し、それを作成したセッションに表示されます。セッションが終了すると、そのセッションの準備されたステートメントはすべて破棄されます。

もう 1 つの類似点は、プリペアド ステートメントも 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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。