未找到列:1054 'on 子句中的未知列 'locations.id'

Posted

技术标签:

【中文标题】未找到列:1054 \'on 子句中的未知列 \'locations.id\'【英文标题】:Column not found: 1054 Unknown column 'locations.id' in 'on clause未找到列:1054 'on 子句中的未知列 'locations.id' 【发布时间】:2019-08-23 23:26:50 【问题描述】:

我正在尝试从具有特定位置的数据库加载活动。我尝试用这个查询来做到这一点:

public function selectAllActivities()
    $sql = "SELECT * FROM `activities` INNER JOIN `locations` on `activities`.`location_id` = `locations.id`";
    $stmt = $this->pdo->prepare($sql);
    $stmt->execute();
    return $stmt->fetchAll(PDO::FETCH_ASSOC);
  

但是当我加载网站时,我得到了这个错误:

Column not found: 1054 Unknown column 'locations.id' in 'on clause

【问题讨论】:

位置表中有哪些列? @JayBlanchard id 和名称 【参考方案1】:

这是一个错字,但由于反引号,我无法在评论中解释它。

这个:

`locations.id`

应该是

//        v-v------- Notice the backticks
`locations`.`id`

【讨论】:

【参考方案2】:

你试过了吗

 `activities`.`location_id` = `locations`.`id`

内连接应该是这样的

ON table1.column_name = table2.column_name;

You can read more at this URL

【讨论】:

它已经说 INNER JOIN locations on activities.location_id = locations.id"

以上是关于未找到列:1054 'on 子句中的未知列 'locations.id'的主要内容,如果未能解决你的问题,请参考以下文章

未找到列:Laravel 5 多对多关系查询中“on 子句”中的 1054 未知列“managers.id”

未找到列:1054“where 子句”中的未知列“MONTH(date)”[重复]

#1054 - “on 子句”中的未知列

SQLSTATE [42S22]:未找到列:1054 'where 子句'中的未知列 'id'(SQL:select * from `songs` where `id` = 5 limit 1)

MySQL错误1054未知列'persons.PersonID' in on子句[重复]

错误代码:1054 'where 子句'中的未知列'billId'