参数化MySQL工作台语句:如何定义变量

Kas*_*yap 5 mysql sql mysql-workbench

我正在尝试在我的工作台中参数化一组常用查询.

这有效:

select * from providers where id='112233';
Run Code Online (Sandbox Code Playgroud)

这个

WbVarDef var1=112233;

select * from providers where id='$[var1]';
Run Code Online (Sandbox Code Playgroud)

给出错误

错误代码:1064.您的SQL语法有错误; 查看与您的MariaDB服务器版本对应的手册,以便在第1行的"来自提供商,其中id ='112233''附近使用正确的语法

我的参考是这个.

需要明确的是,这些都在MySQL工作台中,而不是工作台脚本文件或mysql脚本文件.

小智 10

在MySQL中,设置变量的语法如下.

SET @var1 = '112233';
Run Code Online (Sandbox Code Playgroud)

并使用变量如下.

select * from providers where id=@var1;
Run Code Online (Sandbox Code Playgroud)

查看MySQL文档以获取更多信息链接到MySQL文档

  • 需要明确的是,这与 Workbench 没有任何关系。这是一个常规的 MySQL 语法/功能,任何访问数据库的应用程序都可以使用它。它通常用于触发器和过程中。 (2认同)