mysql prepare statement

在 MySQL 中,PREPARE 和 EXECUTE 语句可以用来执行预编译的 SQL 语句。然而,MySQL 的语法略有不同于你提供的示例。

以下是在 MySQL 中正确使用 PREPARE 和 EXECUTE 的示例:

复制代码
-- Prepare the statement
PREPARE stmt FROM 'SELECT * FROM bigtable WHERE name =?';

-- Execute the prepared statement with a parameter
SET @name = 'John';
EXECUTE stmt USING @name;

-- Drop the prepared statement
DEALLOCATE PREPARE stmt;

在这个示例中,我们首先使用 PREPARE 语句来准备一个带有参数的 SQL 语句。然后,我们使用 SET 语句来设置参数的值,并使用 EXECUTE 语句来执行预编译的 SQL 语句。最后,我们使用 DEALLOCATE PREPARE 语句来释放预编译的语句。

注意,MySQL 不支持使用 USING 关键字直接传递参数值,而是需要先将参数值设置到一个变量中,然后在 EXECUTE 语句中引用这个变量。

复制代码
示例:
mysql> PREPARE stmt FROM 'SELECT * FROM bigtable WHERE name =?';
Query OK, 0 rows affected (0.00 sec)
Statement prepared

mysql>
mysql> SET @name = 'Jone1829488e9aaaa';
Query OK, 0 rows affected (0.00 sec)

mysql> EXECUTE stmt USING @name;
+----+-------------------+------+--------------------+
| id | name              | age  | email              |
+----+-------------------+------+--------------------+
|  1 | Jone1829488e9aaaa |   38 | test1@baomidou.com |
+----+-------------------+------+--------------------+
1 row in set (3.84 sec)

mysql>
mysql> DEALLOCATE PREPARE stmt;
Query OK, 0 rows affected (0.00 sec)

mysql>
相关推荐
美狐美颜sdk2 小时前
直播APP开发技术栈详解:视频美颜SDK、人脸识别与实时渲染
android·人工智能·音视频·美颜sdk·直播美颜sdk
我要见SA姐12 小时前
告别 Copilot?Codex 本地化部署指南
运维·数据库·机器学习·oracle·回归
xcLeigh2 小时前
聊聊国产化替换:好用数据迁移工具KDMS怎么帮咱们搞定评估难
数据库·sql·数据迁移·kes·kdms
Elastic 中国社区官方博客3 小时前
列式存储并不等同于列式数据库。Columnar 模式为 Elasticsearch 带来了什么
大数据·运维·数据库·elasticsearch·搜索引擎
我要见SA姐13 小时前
用 Claude Code 重构遗留系统:从评估到落地的完整实践指南
数据库·ide·vscode·oracle·编辑器
Nturmoils5 小时前
一份 KDMS 评估报告,怎样排出迁移先后顺序
数据库
这个DBA有点耶5 小时前
异构数据集成怎么做?5 种同步方案对比 + 金融级 CDC 实战解析
数据库·oracle·架构
独泪了无痕5 小时前
SQL函数实战:GREATEST与LEAST的技巧
数据库·sql·mysql
麻辣布丁5 小时前
MySQL篇面试题模拟
mysql
码少女5 小时前
Linux--多路转接之select
java·服务器·数据库