一尘不染

MySQL自动将前缀添加到字段

sql

示例表1:

id | field1 | field2
--------------------

表2:

id | id1 | field1 | field2
--------------------------

是否有可能做到这一点:

select t1.*, t2.* from table1 t1 inner join table2 t2 on t1.id = t2.id1

并收到以下结果:

t1_id | t1_fiedl1 | t1_field2 | t2_id | t2_id1 | t2_fiedl1 | t2_field2
----------------------------------------------------------------------

目标是使mysql自动在结果字段中添加前缀,以避免长时间输入,例如

select t1.id as t1_id, t1.field1 as t1_field1

等等


阅读 173

收藏
2021-05-16

共1个答案

一尘不染

SQL引擎不会将您的查询重写为“自动别名”字段,因为您的别名必须是明确的。

但是,客户端代码中有两个选项。

首先,您显然可以编写一个抽象,将查询拼凑在一起,并同时提供别名。

其次,也是更容易的,是使用与每个结果集关联的基础MYSQL_FIELD结构中公开的信息。它们包含有关每个字段的字段和表名(以及其他信息),使您可以以t1_field1编程方式将它们缝合在一起,而无需事先知道字段名。公开此信息的方式取决于您特定的客户端API。

2021-05-16