【发布时间】:2014-04-28 18:06:23
【问题描述】:
为什么我们不能在 MySQL 中使用 * 关键字连接?
SELECT concat(*) FROM table
或
SELECT group_concat(*) FROM table
有没有其他方法可以在不显式使用列名的情况下访问列中的值?
【问题讨论】:
-
这种功能的实际用途是什么?
-
您可以查询
information_schema.columns获取列列表并自己插入到查询中。 -
好吧,假设我有 100 列,并希望将它们全部连接到以逗号分隔的字符串。手动输入 100 个列名将是相当多的工作。但是为什么首先会有 * 关键字呢?
-
为什么不直接将行作为数组提取到您的应用程序中,然后将数组内爆成逗号分隔的字符串?
-
当结果具有不同的格式或 nr 个列时,实际用途是在单个查询上运行多个 SELECT。列可以连接成一个,然后可以通过 UNION 将行放在一起。可以减少对 mysql 服务器的调用次数。