如何在MySQL中为(选择*从)设置变量

时间:2019-01-11 15:02:41

标签: php mysql sql

我正在尝试为x。*和y。*设置一个变量,如下所示:

("SELECT x.* as x_var, y.* as y_var 
  FROM table_x x 
  INNER JOIN table_y y on x.id = y.id WHERE x.id='1'");

但是代码给出了错误:

  

SQLSTATE [42000]:语法错误或访问冲突:1064您的SQL语法有一个错误;请参见语法。检查与您的MariaDB服务器版本对应的手册以获取正确的语法,以在第1行的'as table_x,y。* as y_var FROM table_x x INNER JOIN table_y d ON x.id = y.id WH'中使用

我该如何解决?

1 个答案:

答案 0 :(得分:0)

相对而言,您对“变量”的使用含糊不清。请阅读以下内容:MySQL: @variable vs. variable. What's the difference?

如果您指的是列别名,则可以

 SELECT col1 a, col2 b, col3 c
   FROM whatever

您尝试使用SELECT * AS alias分配多个别名。你不能那样做™。

如果您要使用局部变量

 SELECT @a := col1, @b := col1

而且,您也不能执行SELECT @a: = *

专业提示:尽可能避免使用SELECT *。而是提供所需的列名列表。