眾所周知,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中文網其他相關文章!