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

时间:2017-10-07 11:24:46

标签: mysql sql

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

我正在尝试合并两个表;用户和重复,但它给出了以下错误。

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

2 个答案:

答案 0 :(得分:3)

您的repeatsusers表似乎都有status列。您需要完全限定查询中的列。 E.g:

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

答案 1 :(得分:0)

每当查询中有多个表时,您还应该限定列名。另一个好的做法是使用表别名作为表名的缩写。

我不知道您的数据是什么样的,但查询类似于:

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;

这只是猜测。您必须正确地限定名称。