[英]MySQL UPDATE multiple tables at once
我對這個問題有一百萬個不同的答案,它們看起來都不一樣。 必須有一些方法以簡單的方式解釋這個問題?
如果您有兩個這樣的表:
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;
但無濟於事。 我覺得這應該非常容易,但我只是錯過了它。
像這樣更新它
UPDATE Schedule, Exhibition
SET Schedule.Title = :Title,
Exhibition.Desc = :Desc,
Schedule.StartDate = :StartDate,
Schedule.EndDate = :EndDate
WHERE ID = :ID AND Schedule.refcol = Exhibition.refcol;
顯然WHERE ID = :ID
太模糊了。 將其更改為WHERE Schedule.ID = :ID
具有所需的效果。
感謝JW웃
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.