Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk Mengendalikan Ralat Kemasukan Pendua Semasa Sisipan MySQL?
Apabila memasukkan data ke dalam pangkalan data MySQL dengan medan unik, selalunya wajar untuk mengendalikan pendua entri dengan anggun tanpa menemui ralat. Artikel ini meneroka pelbagai pendekatan untuk mengabaikan ralat masukan pendua semasa sisipan.
Sintaks INSERT...IGNORE membenarkan pemasukan rekod ke dalam jadual, mengabaikan sebarang kemungkinan ralat pendua. Jika entri dengan nilai medan unik yang sama wujud, sisipan hanya dilangkau tanpa mencetuskan ralat.
Syntax REPLACE INTO adalah serupa dengan INSERT...IGNORE, tetapi ia menimpa rekod sedia ada dengan nilai medan unik yang sama. Ini boleh berguna jika anda berhasrat untuk menggantikan rekod lama dengan yang baharu.
INSERT... ON DUPLICATE KEY UPDATE sintaks membolehkan anda menentukan tindakan yang perlu diambil apabila menghadapi entri pendua. Anda boleh memilih untuk mengemas kini rekod sedia ada dengan nilai baharu, menetapkan nilai baharu untuk lajur tertentu atau melakukan operasi lain.
Pertimbangkan jadual berikut dengan lajur unik "id":
id | value |
---|---|
1 | 1 |
Untuk menunjukkan kefungsian kaedah ini:
<code class="sql">REPLACE INTO tbl VALUES (1, 50);</code>
Ini menggantikan rekod sedia ada dengan id=1 dengan nilai nilai baharu=50.
<code class="sql">INSERT IGNORE INTO tbl VALUES (1, 10);</code>
Ini mengabaikan entri pendua, meninggalkan jadual tidak berubah.
<code class="sql">INSERT INTO tbl VALUES (1, 200) ON DUPLICATE KEY UPDATE value=200;</code>
Ini mengemas kini rekod sedia ada dengan id=1 untuk mempunyai nilai=200.
Atas ialah kandungan terperinci Bagaimana untuk Mengendalikan Ralat Kemasukan Pendua Semasa Sisipan MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!