如果我在不释放之前声明的情况下准备同名的声明会发生什么?
实际上,在 MySQL 中,我们可以在不释放之前声明的情况下准备同名的声明,因为 MySQL 会在重新定义预处理语句或关闭与服务器的连接时自动删除它们。换句话说,我们可以使用相同的名称来命名预处理语句,而无需显式释放它们。但是,为了释放服务器端的内存,我们必须释放它们。这可以通过 DEALLOCATE 语句完成,如下所示:
DEALLOCATE PREPARE statement;
这里 statement 是预处理语句的名称。
DROP PREPARE statements 是释放预处理语句的同义词。
示例
mysql> DROP PREPARE stmt11; Query OK, 0 rows affected (0.00 sec)
广告