Bagaimana untuk Mengendalikan Ralat Kemasukan Pendua Semasa Sisipan MySQL?

Linda Hamilton
Lepaskan: 2024-10-26 23:40:30
asal
166 orang telah melayarinya

How to Handle Duplicate Entry Errors During MySQL Inserts?

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.

INSERT...IGNORE

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.

REPLACE INTO

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...PADA KEMASKINI KUNCI PENDUA

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.

Contoh

Pertimbangkan jadual berikut dengan lajur unik "id":

id value
1 1

Untuk menunjukkan kefungsian kaedah ini:

  • GANTIKAN KE:
<code class="sql">REPLACE INTO tbl VALUES (1, 50);</code>
Salin selepas log masuk

Ini menggantikan rekod sedia ada dengan id=1 dengan nilai nilai baharu=50.

  • INSERT IGNORE:
<code class="sql">INSERT IGNORE INTO tbl VALUES (1, 10);</code>
Salin selepas log masuk

Ini mengabaikan entri pendua, meninggalkan jadual tidak berubah.

  • MASUKKAN...PADA KEMASKINI KUNCI DUA:
<code class="sql">INSERT INTO tbl VALUES (1, 200) ON DUPLICATE KEY UPDATE value=200;</code>
Salin selepas log masuk

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!

sumber:php.cn
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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!