简体   繁体   English

#1052-字段列表中的“状态”列不明确

[英]#1052 - Column 'status' in field list is ambiguous

SELECT 
repeats.id,user_id,deposit_id,repeat_time,made_time,rebeat,status,created_at,updated_at
FROM repeats
INNER JOIN users ON users.id = repeats.user_id

I am trying to merge two tables; 我正在尝试合并两个表; users and repeats, but it is giving following error. 用户并重复,但出现以下错误。

Error
SQL query: Documentation


SELECT repeats.id
,user_id
,deposit_id
,repeat_time
,made_time
,rebeat
,status
,created_at
,updated_at
FROM repeats
INNER JOIN users 
ON users.id = repeats.id 
LIMIT 0, 25

MySQL said: Documentation

#1052 - Column 'status' in field list is ambiguous

Both your repeats and users tables seem to have a status column. 您的repeats表和users表似乎都有一个status列。 You need to fully qualify the column in your query. 您需要完全限定查询中的列。 Eg: 例如:

SELECT     repeats.id,
           user_id,
           deposit_id,
           repeat_time,
           made_time,
           rebeat,
           repeats.status, -- Or users.status, depending on what you need
           created_at,
           updated_at
FROM       repeats
INNER JOIN users ON users.id = repeats.user_id

Whenever you have more than one table in a query, you should also qualify the column names. 只要查询中有多个表,就还应限定列名。 Another good practice is to use table aliases that are abbreviations for the table names. 另一种好的做法是使用表别名,这些别名是表名的缩写。

I don't know what your data looks like, but the query would be something like: 我不知道您的数据是什么样的,但是查询将是这样的:

SELECT r.id, r.user_id, r.deposit_id, r.repeat_time, r.made_time, r.rebeat,
       u.status, u.created_at, u.updated_at
FROM repeats r INNER JOIN
     users u
     ON u.id = r.user_id;

This is just a guess. 这只是一个猜测。 You have to correctly qualify the names. 您必须正确限定名称。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM