PREPARE EXECUTE 和 DEALLOCATE PREPARE 语句

PREPARE 准备一份执行声明

EXECUTE 执行准备语句

DEALLOCATE PREPARE 发布预备声明

SET @s = 'SELECT SQRT(POW(?,2) + POW(?,2)) AS hypotenuse';
PREPARE stmt2 FROM @s;
SET @a = 6;
SET @b = 8;
EXECUTE stmt2 USING @a, @b;

结果:

+------------+
| `hypotenuse` |
+------------+
|         10 |
+------------+

最后,

DEALLOCATE PREPARE stmt2;

笔记:

  • 你必须使用 @variables,而不是 FROM @s 的 DECLAREd 变量
  • Prepare 等的主要用途是为绑定不起作用的情况构造查询,例如插入表名。