MySQL資料存在如何更新,不存在如何插入?

Susan Sarandon
發布: 2024-11-13 07:16:02
原創
919 人瀏覽過

How to Update MySQL Data if it Exists or Insert if Not?

PHP/MySQL:如果存在則更新,如果不存在則插入

如果特定欄位存在,則尋求更新 MySQL 表,如果不存在則插入。此場景涉及連接三個表:set_colors、school_art 和 baseimage。

要實現所需的結果,請考慮以下程式碼:

public function set_layer_colors($value) 
{
    global $db;
    
    $result_array = mysql_query("
        INSERT INTO set_colors (school_art_id, baseimage_id, sub_folder, layer)
        SELECT school_art.id, baseimage.id, baseimage.sub_folder, baseimage.layer
        FROM school_art 
        JOIN baseimage ON baseimage.base_folder = school_art.series_code 
        WHERE baseimage.image_type = 'B' 
        ON DUPLICATE KEY UPDATE sub_folder = VALUES(sub_folder), layer = VALUES(layer);
    ");

    return $result_array;
}
登入後複製

此更新的程式碼採用 INSERT ... ON MySQL 中的 DUPLICATE KEY UPDATE 語句。它執行以下操作:

  • 如果找不到(school_art_id,baseimage_id)對,則插入新行。
  • 如果(school_art_id,baseimage_id)對已存在,則更新現有行。
  • 如果進行更新,則僅將 sub_folder 和圖層列更新為 VALUES 子句中提供的值。

以上是MySQL資料存在如何更新,不存在如何插入?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板