我正在尝试为 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]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'as table_x, y.* as y_var FROM table_x x INNER JOIN table_y d ON x.id = y.id WH' at line 1
如何修复它?
最佳答案
恕我直言,您对“变量”的使用是不明确的。请阅读: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 *
。相反,请提供您想要的列名称列表。
关于php - 如何在mysql中为(select * from)设置变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54149062/