php - 如何在mysql中为(select * from)设置变量

标签 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]: 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/

相关文章:

javascript - jquery 和表单的混合

mysql:计算具有特定值的列数

javascript - 防止保存html内容的多个副本

php - 使用 PHP 从 MySQL 数据库中选择标题、描述和关键字

php - 如何选择与(姓名,姓氏)OR(姓氏,姓名)串联匹配的所有记录

sql - DO block 工作正常,但函数循环次数太多?

sql - 当一个范围具有一系列开始日期时比较两个日期范围

mysql - 元表 VS 字段多、规模大的表。性能方面

php - 如何在 PHP 页面中包含 JSP

mysql - 使用列名进行表数据转储