mysql - 有没有办法自动在表中的所有选定字段前面添加字符串?

标签 mysql select join

我有一个带有连接的选择。 我知道我可以做到这一点:

table1.id as table1_id, table1.name as table1_name

我想知道以这种方式选择字段时是否可以自动执行此操作:

table1.*

我完全理解这是不好的做法,但它对于本地测试很有用,我想知道是否可以做这样的事情。

非常感谢。

最佳答案

我建议在您的 id 和 name 字段名称中添加一些额外的上下文(例如,如果您有表 Person 和 Employer,您可以使用 person_id 和雇主_id 作为字段名称)。

我认为您不能自动将表名称添加到您可以选择的字段中,而不是更改表结构。但是,您可以为查询创建一个 View ,然后在应用程序中从 View 中进行选择。考虑这个例子:

+-------------+     +-------------+
| Person      |     | Employer    |
+-------------+     +-------------+ 
| id          |     | id          |
| name        |     | name        |
| employer_id |     +-------------+
+-------------+   

CREATE VIEW PersonEmployer AS
SELECT 
  person.id as `person_id`, 
  person.name as `person_name`, 
  employer.id as `employer_id`, 
  employer.name as `employer_name`
FROM 
 Person 
 INNER JOIN Employer ON (Person.employer_id = Employer.id);

SELECT * FROM PersonEmployer;

关于mysql - 有没有办法自动在表中的所有选定字段前面添加字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8066489/

相关文章:

php - 从MySql表数据结果中转义<>符号

mysql - 将数据填充到具有 m :m Relationships 的表中

php - 在选择之前是否可以先以编程方式排除某些字段?

mysql - 如何做这个sql请求

php - 从 mysql 表中选择每个变量的最新(截至某个日期)记录

MySQL:多重连接及其对总和的影响

java - Hibernate:对 MySQL 使用反引号,但对 HSQL 不使用

mysql - 聚合 SQL 查询

mysql - 填写表格或在 mysql 中使用触发器后将 ID 号发送到他们的电子邮件

mysql - 500000条记录后MySQL变得非常慢