PREPARE

PREPARE 语句为服务器端预处理语句提供 SQL 接口。

语法图

PreparedStmt

PREPARE - 图1

PrepareSQL

PREPARE - 图2

  1. PreparedStmt ::=
  2. 'PREPARE' Identifier 'FROM' PrepareSQL
  3. PrepareSQL ::=
  4. stringLit
  5. | UserVariable

PREPARE - 图3

注意

PREPARE 语句最多支持 65535 个占位符。

你可以使用 max_prepared_stmt_count 系统变量来限制当前 TiDB 实例中 PREPARE 语句的数量。

示例

  1. PREPARE mystmt FROM 'SELECT ? as num FROM DUAL';
  1. Query OK, 0 rows affected (0.00 sec)
  1. SET @number = 5;
  1. Query OK, 0 rows affected (0.00 sec)
  1. EXECUTE mystmt USING @number;
  1. +------+
  2. | num |
  3. +------+
  4. | 5 |
  5. +------+
  6. 1 row in set (0.00 sec)
  1. DEALLOCATE PREPARE mystmt;
  1. Query OK, 0 rows affected (0.00 sec)

MySQL 兼容性

PREPARE 语句与 MySQL 完全兼容。如发现任何兼容性差异,请尝试 TiDB 支持资源

另请参阅