首页 > 解决方案 > SQL/PHP - 将 2 个表与其他表中的数据连接起来

问题描述

这是 SQL 语句的查询

UPDATE TrendingEvents
    SET Name = ?, Image = ?, Date = ?, EventCategory = ?
    WHERE ID = ?;')

我想访问我的 TrendingEvents 表中另一个表的 ID。这是我做过的例子,虽然它不能完全工作;

UPDATE TrendingEvents INNER JOIN
       Events AS eID
       ON TrendingEvents.ID = Events.ID
 SET Name = ?, Image = ?, Date = ?, EventCategory = ?
 WHERE eID = ?;')

我想用事件表中的 ID 列更新 TrendingEvents 表。

我从我的陈述中得到的错误是

Uncaught PDOException: SQLSTATE[23000]: Integrity constraint violation: 1052 Column 'Name' 

这只是表明我的查询设计得很糟糕。

标签: phpmysqlsql

解决方案


这两个表似乎都包含一个名为 Name 的列。您需要使用表名正确地为字段添加前缀,例如:

UPDATE 
    TrendingEvents AS t
    INNER JOIN Events AS e
        ON t.ID = e.ID 
    SET 
        t.Name = ?, 
        t.Image = ?, 
        t.Date = ?, 
        t.EventCategory = ? 
    WHERE e.eID = ?

推荐阅读