Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 重用准备好的语句_Mysql_Sql - Fatal编程技术网

Mysql 重用准备好的语句

Mysql 重用准备好的语句,mysql,sql,Mysql,Sql,我需要在一个过程中执行多个语句 考虑以下情况: PREPARE stmt FROM 'select * from tbl1'; EXECUTE stmt; PREPARE stmt FROM 'select * from tbl2'; EXECUTE stmt; /* several more executes, around 10 */ DEALLOCATE PREPARE stmt; 我认为这有效吗?还是在准备新语句之前需要取消分配每个语句? 如果这是有效的,建议这样做,还是取消分配

我需要在一个过程中执行多个语句

考虑以下情况:

PREPARE stmt FROM 'select * from tbl1';
EXECUTE stmt;

PREPARE stmt FROM 'select * from tbl2';
EXECUTE stmt;

 /* several more executes, around 10 */
DEALLOCATE PREPARE stmt;
我认为这有效吗?还是在准备新语句之前需要取消分配每个语句? 如果这是有效的,建议这样做,还是取消分配每条语句更好,我不担心取消分配,因为我远没有在

如果具有给定名称的已准备语句已经存在,则在准备新语句之前会隐式解除分配该语句。这意味着,如果新语句包含错误且无法准备,则返回错误且不存在具有给定名称的语句


也许你必须取消分配预先准备好的声明,至少在我使用预先准备好的声明的短暂经验中,我做到了,而且一切对我来说都很好