Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mengemas kini atau Memasukkan Rekod dalam MySQL Berdasarkan Kewujudan?
PHP MySQL: Mengemas kini atau Memasukkan Rekod Berdasarkan Kewujudan
Dalam MySQL, anda mungkin menghadapi keperluan untuk mengemas kini rekod sedia ada atau memasukkan yang baharu berdasarkan sama ada medan tertentu sudah wujud dalam pangkalan data. Tugas ini boleh dikendalikan dengan cekap menggunakan gabungan penyataan IF EXISTS dan ELSE.
Untuk mengemas kini rekod jika wujud atau selitkannya jika tiada, pertimbangkan sintaks berikut:
IF EXISTS(SELECT * FROM table_name WHERE field = 'value') UPDATE table_name SET field1 = 'value1', field2 = 'value2', ... ELSE INSERT INTO table_name (field1, field2, ...) VALUES ('value1', 'value2', ...)
Dalam senario khusus anda, untuk mengemas kini atau memasukkan rekod dalam jadual 'set_colors' berdasarkan kewujudan rekod yang sepadan dalam 'school_art' dan jadual 'baseimage', anda boleh mengubah suai kod anda seperti berikut:
public function set_layer_colors($value) { global $db; $result_array = mysql_query(" IF EXISTS(SELECT * FROM set_colors WHERE school_art_id = '{$value}') UPDATE set_colors SET school_art_id = '{$value}', baseimage_id = '{$baseimage_id}', sub_folder = '{$sub_folder}', layer = '{$layer}' ELSE INSERT INTO set_colors (school_art_id, baseimage_id, sub_folder, layer) VALUES ('{$value}', '{$baseimage_id}', '{$sub_folder}', '{$layer}') "); return $result_array; }
Kod ini menyemak kewujudan rekod dalam jadual 'set_colors' di mana 'school_art_id' sepadan dengan nilai yang disediakan. Jika rekod wujud, ia mengemas kini medan yang ditentukan. Jika tidak, ia memasukkan rekod baharu ke dalam jadual.
Atas ialah kandungan terperinci Bagaimana untuk Mengemas kini atau Memasukkan Rekod dalam MySQL Berdasarkan Kewujudan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!