php - MYSQL select * 再次加一列

标签 php mysql pdo

<分区>

一些 SQL 工具集如 PDO 可以根据选择的第一列做一些特殊的事情,比如将它作为类名来实例化或将它用作哈希表的键。不幸的是,PDO 从结果中删除了该列。如果我仍然希望它成为结果的一部分怎么办?

我试过这样的查询

SELECT `class` as `myclass`, * FROM `mytable`

但我收到错误:

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '* FROM mytable at line 1

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

as `myclass`

下面的工作正常:

SELECT `class` as `myclass`, `class` FROM `mytable`

如果不进行自连接或放置完整的列列表,这是否可能?

最佳答案

你可以像下面那样做

SELECT `mytable`.`class` as `myclass`, `mytable`.*  FROM `mytable`

或者像这样

SELECT t.class AS myclass, t.*  FROM mytable t;

关于php - MYSQL select * 再次加一列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48135447/

相关文章:

php - 为什么这个 while 循环不更新我的 mysql 查询?

php - PDO::__construct():服务器发送的字符集 (255) 客户端未知。请向开发人员报告

php - 我可以在 PHP 中混合使用 MySQL API 吗?

php - 如何使用 Laravel 事务回滚

php - 每个值都显示在新行 HTML 表中

php - CodeIgniter:删除 WAMP 上 URL 中的 "index.php"

mysql - 数入组?

php - 查询条件以从表单中插入数据

php - 如何在php中使用PDO transactino插入后获取插入ID

php - 提高mysql数据库查询速度