如果我在不释放之前声明的情况下准备同名的声明会发生什么?


实际上,在 MySQL 中,我们可以在不释放之前声明的情况下准备同名的声明,因为 MySQL 会在重新定义预处理语句或关闭与服务器的连接时自动删除它们。换句话说,我们可以使用相同的名称来命名预处理语句,而无需显式释放它们。但是,为了释放服务器端的内存,我们必须释放它们。这可以通过 DEALLOCATE 语句完成,如下所示:

DEALLOCATE PREPARE statement;

这里 statement 是预处理语句的名称。

DROP PREPARE statements 是释放预处理语句的同义词。

示例

mysql> DROP PREPARE stmt11;
Query OK, 0 rows affected (0.00 sec)

更新于:2020年6月20日

72 次浏览

开启您的职业生涯

完成课程获得认证

开始学习
广告