我正在尝试为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'中使用
我该如何解决?
答案 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 *
。而是提供所需的列名列表。