簡體   English   中英

嘗試使用其他三個表的主鍵更新表

[英]Trying to update table with primary key of three other tables

嗨,我在做 sql 查詢方面還是很新的我正在嘗試使用其他三個表的主鍵更新一個表。 我沒有收到任何錯誤,但它顯然不起作用,因為我的表沒有更新......有人可以告訴我我做錯了什么嗎?

更新表稱為“set_color”

$results_array = mysql_query("
    SELECT * school_art
    JOIN  baseimage 
    ON school_art.series_code = baseimage.basefolder 
    WHERE baseimage.image_type = 'B' 
    UPDATE set_colors SET 
    set_colors.school_art_id = school_art.id,
    set_colors.baseimage_id = baseimage.id,
    set_colors.baseimage_layer = baseimage.layer
    ;");
    return !empty($result_array) ? array_shift($result_array) : false;

請幫忙..

你很接近,但根據更新語法,我們必須稍微調整一下:

UPDATE set_colors
JOIN  school_art
JOIN  baseimage 
ON school_art.series_code = baseimage.basefolder 
set_colors.school_art_id = school_art.id,
set_colors.baseimage_id = baseimage.id,
set_colors.baseimage_layer = baseimage.layer
WHERE baseimage.image_type = 'B' 
  • 總是第一個UPDATE
  • 然后表引用,包括您想要做的任何JOIN
  • 然后SET ,然后是要設置的列(在 JOINed 查詢中,您還可以在其他表中設置列,而不僅僅是第一個)。
  • 然后是WHERE子句。

但是:不要運行它:這將更新整個表。 您希望根據 set_colors 中的哪些列 select 應該更新的記錄?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM