MYSQL再次选择*加一列

Rud*_* W. 0 php mysql pdo

某些SQL工具集(如PDO)可以根据所选的第一列执行特殊操作,例如将其作为类名进行实例化或将其用作哈希表中的键.不幸的是,PDO从结果中删除了该列.如果我仍然希望它成为结果的一部分怎么办?

我尝试过诸如此类的查询

SELECT `class` as `myclass`, * FROM `mytable`
Run Code Online (Sandbox Code Playgroud)

但是我收到了错误:

#1064 - 您的SQL语法有错误; 检查与MySQL服务器版本对应的手册,以便mytable在第1行的'*FROM附近使用正确的语法

我知道列名中不会有冲突,因此

as `myclass`
Run Code Online (Sandbox Code Playgroud)

以下工作正常:

SELECT `class` as `myclass`, `class` FROM `mytable`
Run Code Online (Sandbox Code Playgroud)

如果没有自我加入或列出完整的列列表,这是否可行?

小智 5

你可以在下面这样做

SELECT `mytable`.`class` as `myclass`, `mytable`.*  FROM `mytable`
Run Code Online (Sandbox Code Playgroud)

或者像这样

SELECT t.class AS myclass, t.*  FROM mytable t;
Run Code Online (Sandbox Code Playgroud)