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>
相关推荐
IvorySQL9 小时前
PostgreSQL 日报|修复截断 zstd 备份检测(10 月 9 日)
数据库·postgresql
aqi009 小时前
鸿蒙版本的电子书阅读APP开放源码啦
android·华为·ai编程·harmonyos·鸿蒙
墨天梦9 小时前
B19_SunnyWeather到阅读客户端
android·kotlin
刘胡子大叔9 小时前
SQL 脚本的导入顺序
数据库·sql
代码什么用10 小时前
Spring对IoC的实现
数据库·spring
美狐美颜sdk10 小时前
直播APP源码可以直接接入视频美颜sdk吗?技术方案详解
android·人工智能·音视频·美颜sdk·直播美颜sdk
hz5678912 小时前
涉密视频会议设备配置指南:终端、音视频采集与配套设施选型
服务器·网络·数据库·安全·实时音视频·信息与通信·智能硬件
广州浮点FLOATLIC12 小时前
许可证服务器迁移后软件打不开:研发 IT 怎样定位连接问题
linux·服务器·数据库
程序员Sunday12 小时前
MySQL 为什么使用 B+ 树索引?把范围查询、回表和覆盖索引连起来
数据库·mysql
半杯咖啡半行码12 小时前
Qt开发实战:数据库、MV 模式、QProcess与串口通信全攻略
数据库·qt