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>
相关推荐
昵称是6硬币3 小时前
MongoDB系列教程-教程概述
数据库·mongodb
giaoho5 小时前
Android 系统架构
android·系统架构
极限实验室7 小时前
IK 字段级别词典的升级之路
数据库
chen_note7 小时前
LAMP及其环境的部署搭建
linux·运维·mysql·php·apache·lamp·phpmyadmin
m0_659394007 小时前
常见的cms框架的webshell方法
android
瓶子xf8 小时前
基于mysql云数据库对比PowerBI vs QuickBI vs FineBI更换数据源的可行性
mysql·powerbi·quickbi
曾几何时`8 小时前
MySQL(配置)——MariaDB使用
数据库·mysql
努力学习java的哈吉米大王8 小时前
MySQL——MVCC
数据库·mysql
数据要素X8 小时前
【数据架构10】数字政府架构篇
大数据·运维·数据库·人工智能·架构
fatiaozhang95278 小时前
中兴云电脑W101D2-晶晨S905L3A-2G+8G-安卓9-线刷固件包
android·网络·电脑·电视盒子·刷机固件·机顶盒刷机