我对这个问题有一百万个不同的答案,它们看起来都不一样。必须有一些方法以简单的方式解释这个问题吗?
如果你有两个这样的表:
Exhibition
ID *
DESC
CURATOR
Schedule
ID *
TITLE
STARTDATE
ENDDATE
每个ID引用另一个ID,每个表存储有关同一对象的不同内容。
如何在一个声明中使用新信息更新每一列?
我尝试过类似的事情:
UPDATE Schedule
INNER JOIN Exhibition
USING (ID)
SET Schedule.Title = :Title,
Exhibition.Desc = :Desc,
Schedule.StartDate = :StartDate,
Schedule.EndDate = :EndDate
WHERE ID = :ID;
但无济于事。我觉得这应该非常简单,但我只是错过了它。
答案 0 :(得分:1)
像这样更新
UPDATE Schedule, Exhibition
SET Schedule.Title = :Title,
Exhibition.Desc = :Desc,
Schedule.StartDate = :StartDate,
Schedule.EndDate = :EndDate
WHERE ID = :ID AND Schedule.refcol = Exhibition.refcol;
答案 1 :(得分:1)
显然WHERE ID = :ID
太模糊了。将其更改为WHERE Schedule.ID = :ID
会产生预期的效果。
感谢JW웃