Rumah  >  Artikel  >  pangkalan data  >  Bagaimana untuk Mengemas kini atau Memasukkan Rekod MySQL Menggunakan Pernyataan Bersyarat dalam PHP?

Bagaimana untuk Mengemas kini atau Memasukkan Rekod MySQL Menggunakan Pernyataan Bersyarat dalam PHP?

Patricia Arquette
Patricia Arquetteasal
2024-11-12 06:13:01686semak imbas

How to Update or Insert MySQL Records Using Conditional Statements in PHP?

PHP dan MySQL: Mengemas kini atau Memasukkan Rekod Menggunakan Pernyataan Bersyarat

Dalam aplikasi PHP anda, anda memerlukan cara yang serba boleh untuk mengemas kini atau memasukkan data ke dalam pangkalan data MySQL anda berdasarkan sama ada syarat tertentu dipenuhi. Ini boleh dicapai menggunakan kemas kini gabungan atau penyata sisip.

Coretan kod berikut menunjukkan pendekatan ini:

public function set_layer_colors($value) {
    global $db;

    $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' ORDER BY school_art.id 
    ON DUPLICATE KEY UPDATE
        school_art_id=VALUES(school_art_id),
        baseimage_id=VALUES(baseimage_id),
        sub_folder=VALUES(sub_folder),
        layer=VALUES(layer);";

    $result_array = mysql_query($query);

    return $result_array;
}

Kod ini menggabungkan penyataan INSERT dan ON DUPLICATE KEY UPDATE. Pernyataan INSERT cuba memasukkan baris baharu ke dalam jadual set_colors, dengan nilai diambil daripada gabungan jadual school_art dan baseimage.

Jika school_art_id yang ditentukan sudah wujud dalam jadual set_colors, KUNCI PENDUPLICATE ON Klausa UPDATE menjadi aktif. Klausa ini mengemas kini baris sedia ada dengan nilai yang disediakan dalam klausa VALUES, pada asasnya menimpa nilai sedia ada. Jika school_art_id tidak wujud, baris baharu akan dimasukkan seperti biasa.

Atas ialah kandungan terperinci Bagaimana untuk Mengemas kini atau Memasukkan Rekod MySQL Menggunakan Pernyataan Bersyarat dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn