Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Mengemas kini atau Memasukkan Baris dalam MySQL Berdasarkan Kehadiran Medan?

Bagaimana untuk Mengemas kini atau Memasukkan Baris dalam MySQL Berdasarkan Kehadiran Medan?

Patricia Arquette
Lepaskan: 2024-11-13 09:58:02
asal
657 orang telah melayarinya

How to Update or Insert Rows in MySQL Based on Field Presence?

MySQL: Mengemas kini atau Memasukkan Berdasarkan Kehadiran Medan

Pernyataan Masalah

Dalam kod anda, anda menyasarkan untuk mengemas kini baris dalam jadual set_colors jika mereka sudah wujud. Jika tidak, masukkan baris baharu. Walau bagaimanapun, anda menggunakan syarat IF EXISTS dalam pertanyaan, yang tidak sejajar dengan cara pilihan untuk mengendalikan senario sedemikian.

Penyelesaian

Untuk melaksanakan kemas kini yang dikehendaki atau operasi sisipan berdasarkan mengenai kehadiran di lapangan, pertimbangkan untuk menggunakan INSERT ... PADA KEMASKINI KUNCI PENDULIK sintaks:

INSERT INTO <table name> (field1, field2, field3, ...) 
VALUES ('value1', 'value2', 'value3', ...)
ON DUPLICATE KEY UPDATE
field1='value1', field2='value2', field3='value3', ...
Salin selepas log masuk

Penjelasan

Dengan sintaks ini:

  • Jika baris tidak wujud dengan kunci utama yang ditentukan (atau indeks unik), ia akan disisipkan dengan nilai yang disediakan.
  • Jika baris sudah wujud, medan yang dinyatakan akan dikemas kini kepada nilai yang disediakan.
  • Jika baris wujud dan nilai yang disediakan adalah sama dengan nilai semasa, tiada tindakan akan diambil dan baris yang terjejas kiraan akan menjadi 0.

Contoh

Pertanyaan berikut menunjukkan penggunaan:

INSERT INTO set_colors (school_art_id, baseimage_id, sub_folder, layer)
VALUES ('1', '2', 'test-folder', '10')
ON DUPLICATE KEY UPDATE
baseimage_id='2',
sub_folder='updated-folder',
layer='15'
Salin selepas log masuk
  • Jika school_art_id 1 tidak wujud, ia akan memasukkan baris baharu dengan nilai yang disediakan.
  • Jika school_art_id 1 sudah wujud, ia akan mengemas kini baseimage_id , sub_folder dan medan lapisan kepada nilai yang disediakan.

Atas ialah kandungan terperinci Bagaimana untuk Mengemas kini atau Memasukkan Baris dalam MySQL Berdasarkan Kehadiran Medan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan