我需要在一个程序中执行多个语句。
考虑以下情况:
PREPARE stmt FROM 'select * from tbl1';
EXECUTE stmt;
PREPARE stmt FROM 'select * from tbl2';
EXECUTE stmt;
/* several more executes, around 10 */
DEALLOCATE PREPARE stmt;
我这个有效吗?或者我是否需要在准备新语句之前释放每个语句?
如果这是有效的,那么建议或者更好地解除分配每个语句,我不担心解除分配,因为我离max_prepared_stmt_count
答案 0 :(得分:0)
在Docs
中找到答案如果已存在具有给定名称的预准备语句,则在准备新语句之前将其隐式释放。这意味着如果新语句包含错误且无法准备,则返回错误,并且不存在具有给定名称的语句。
答案 1 :(得分:0)
可能你必须解除准备好的陈述,至少在我的准备陈述的短暂经历中,我做了它并且一切都对我有用。