Rumah >pangkalan data >tutorial mysql >Bagaimana Mengendalikan Kekangan Utama Unik Semasa Memasukkan atau Mengemas kini dalam MySQL?
Sisipkan atau kemas kini menggunakan kekangan kunci unik dalam MySQL
Memasukkan atau mengemas kini baris dalam jadual MySQL boleh menjadi rumit apabila anda perlu menangani kekangan kunci pendua. Untuk menyelesaikan masalah ini, MySQL menyediakan pernyataan "INSERT ... ON DUPLICATE KEY UPDATE" serba boleh.
Seperti yang dinyatakan dalam soalan, anda ingin memasukkan baris ke dalam jadual dengan kunci unik. Walau bagaimanapun, jika baris dengan kunci unik yang sama sudah wujud, anda ingin mengemas kini nilainya.
Secara tradisinya, memasukkan baris akan melanggar kekangan kunci unik, mengakibatkan mesej ralat. "INSERT IGNORE" menyekat ralat tetapi tidak melakukan operasi kemas kini.
Penyelesaian: INSERT ... PADA KEMASKINI KUNCI PENDUA
Penyelesaian terletak pada penggunaan sintaks "INSERT ... PADA KEMASKINI KUNCI DUA". Mari pecahkan pertanyaan ini menggunakan contoh yang disediakan:
<code class="language-sql">INSERT INTO table_name (ID, NAME, AGE) VALUES(1, "A", 19) ON DUPLICATE KEY UPDATE NAME="A", AGE=19</code>
Arahan:
Jika baris dengan ID=1 tidak wujud dalam jadual, baris baharu akan disisipkan menggunakan nilai yang disediakan. Walau bagaimanapun, jika baris dengan ID=1 sudah wujud, hanya lajur "NAME" dan "AGE" akan dikemas kini dengan nilai yang ditentukan dan "ID" akan kekal tidak berubah.
Atas ialah kandungan terperinci Bagaimana Mengendalikan Kekangan Utama Unik Semasa Memasukkan atau Mengemas kini dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!