MySQL MariaDB

Sisipan MySQL Abaikan Kunci Duplikat

Sisipan MySQL Abaikan Kunci Duplikat
Seringkali ada data yang saling bertentangan dalam tabel atau kumpulan hasil. Ini juga memakan waktu untuk mengoreksi, dan catatan yang sering diulang perlu dihindari need. Mengidentifikasi catatan duplikat dan menghapusnya dari salah satu tabel diperlukan. Bagian ini akan menguraikan tentang cara menghindari duplikat data agar tidak muncul di dalam tabel dan cara menghilangkan catatan duplikat saat ini. Dalam panduan ini, Anda akan mempelajari cara menggunakan klausa INSERT IGNORE untuk menghindari kesalahan.

Sintaksis:

Berikut adalah sintaks untuk permintaan INSERT IGNORERE.

>> INSERT IGNORE INTO table_name(col1, col2, col3) VALUES (value_list), (value_list), (value_list);

MASUKKAN ABAIKAN melalui Meja Kerja:

Buka MySQL Workbench 8 Anda.0 dari sistem Anda dan hubungkan ke instance database.

Di area perintah, Anda harus membuat tabel "Karyawan" dengan empat kolom di mana salah satunya harus ditentukan sebagai "UNIK". Coba kueri di bawah ini di area kueri navigator untuk membuat tabel ini. Pilih seluruh kueri dan klik tanda flash untuk menjalankannya.

>> CREATE TABLE Karyawan (ID int PRIMARY KEY NOT NULL, Nama varchar(50) NOT NULL, Umur Varchar(50), Gaji varchar(50), UNIQUE (ID));

Setelah dibuat, Anda dapat menemukan tabel "karyawan" di dalam daftar di bawah opsi "Tabel" di bawah "data" database.

Dalam tampilan kisi, Anda dapat memasukkan catatan tanpa mengetik kueri apa pun. Jadi, buka tampilan grid tabel "karyawan" dan tambahkan beberapa catatan di dalamnya seperti yang ditunjukkan di bawah ini:. Kami telah memasukkan semua catatan unik tanpa duplikat. Tekan tombol 'Terapkan' untuk menerapkan perubahan.

Jendela baru akan dibuka dengan pertanyaan yang relevan terkait dengan catatan yang telah kita masukkan di atas. Layar ini bisa disebut layar "Ulasan". Jika Anda ingin mengubah sesuatu, Anda dapat melakukannya di sini. Jika tidak, tekan tombol Terapkan untuk menjalankan kueri.

Seperti yang Anda lihat, kueri telah berhasil dieksekusi dan catatan disimpan ke dalam database dan tabelnya "Karyawan". Itu akan menghasilkan kesalahan jika kami menambahkan nilai duplikat di kolom "ID". Ketuk tombol "Selesai".

Ini semua tentang tampilan grid. Sekarang, kami akan memasukkan catatan melalui area kueri. Sementara itu, kami telah memasukkan catatan duplikat kali ini untuk memeriksa hasilnya. Jadi, kami telah mencoba kueri "INSERT" di bawah ini, di mana kami memiliki dua daftar nilai. Kedua daftar nilai memiliki nilai yang sama pada kolom 'ID'. Pilih kueri dan tekan tanda flash untuk menjalankan kueri.

Kueri tidak akan berfungsi dengan benar, dan akan menghasilkan kesalahan karena nilai duplikat dalam perintah INSERT seperti yang ditampilkan pada gambar.

Sekarang coba kueri yang sama di atas dengan klausa INSERT IGNORE dan jalankan seperti yang disajikan.

Anda dapat melihat bahwa itu tidak menghasilkan kesalahan di area output, tetapi memberikan peringatan bahwa perintah tersebut berisi nilai duplikat.

Refresh tampilan grid tabel “Karyawan”. Permintaan INSERT IGNORE telah bekerja setengah. Itu memasukkan daftar nilai pertama ke dalam tabel, tetapi daftar nilai kedua telah diabaikan karena nilai berulang "13".

INSERT IGNORE melalui Command-Line Shell:

Untuk memahami konsep ini, mari buka shell klien baris perintah MySQL di sistem Anda. Saat bertanya, ketik kata sandi MySQL Anda untuk mulai mengerjakannya.

Sekarang saatnya membuat tabel. Coba perintah di bawah ini untuk melakukannya. Kami telah membuat tabel bernama 'menteri' sementara salah satu kolomnya memiliki batasan UNIK. Jelas bahwa kolom "ID" hanya akan menerima nilai unik dan bukan nilai duplikat.

>> BUAT TABEL data.menteri( Mid INT PRIMARY KEY UNIK NOT NULL, Nama VARCHAR(45), City VARCHAR(45));

Kueri berfungsi dengan baik, dan tabel telah dibuat. Untuk memahami klausa INSERT IGNORE, Anda harus terlebih dahulu melihat cara kerja perintah INSERT sederhana. Jika Anda menggunakan perintah INSERT untuk memasukkan beberapa data informasi ke tabel, MySQL menangguhkan transaksi dan menghasilkan pengecualian jika terjadi kesalahan selama pemrosesan. Akibatnya, tabel tidak memiliki baris yang ditambahkan ke dalamnya. Mari kita masukkan catatan pertama di tabel "menteri" menggunakan kueri yang ditunjukkan di bawah ini. Kueri akan berhasil karena tabel saat ini kosong, dan tidak ada catatan untuk ditandingi.

Karena kolom "ID" adalah UNIK, ketika kami mencoba instruksi di bawah ini pada shell baris perintah, itu akan menghasilkan kesalahan. Ini karena kami telah menambahkan nilai "11" di kueri sebelumnya, dan karena kunci UNIK itu tidak memungkinkan kami untuk menambahkan nilai berulang lagi.

Oleh karena itu, saat memeriksa tabel, kita dapat melihat bahwa tabel hanya memiliki 1 record yang ditambahkan oleh kueri INSERT pertama.

>> PILIH * DARI data.menteri;

Sebaliknya, jika Anda menggunakan klausa INSERT IGNORE, baris data yang salah yang memicu kesalahan akan diabaikan dan hanya akan memasukkan yang akurat. Pada perintah di bawah ini, kami telah menggunakan perintah INSERT IGNORE untuk menghindari penambahan nilai berulang ke dalam tabel dan mengabaikan kesalahan. Seperti yang Anda lihat, daftar nilai pertama memiliki nilai duplikat "11" sama seperti pada kueri sebelumnya. Sementara daftar nilai kedua adalah unik, itu akan menampilkan 1 catatan yang dimasukkan ke dalam tabel, yang merupakan daftar nilai kedua. MySQL juga menunjukkan bahwa hanya 1 catatan yang dimasukkan, dan 1 peringatan dihasilkan dalam pesan. Anda kemudian dapat berasumsi bahwa jika kita menggunakan klausa INSERT IGNORE, MySQL memberikan peringatan.

Seperti yang Anda lihat dari output di bawah ini, kami hanya memiliki dua catatan dalam tabel ini - daftar nilai pertama yang disediakan dalam kueri di atas, yang diabaikan.

>> PILIH * DARI data.menteri;

Kesimpulan:

Kami telah melakukan semua contoh INSERT IGNORE yang diperlukan pada nilai duplikat melalui MySQL Workbench dan shell klien baris perintah MySQL.

5 Produk Mouse Komputer Ergonomis Terbaik untuk Linux
Apakah penggunaan komputer yang lama menyebabkan rasa sakit di pergelangan tangan atau jari Anda?? Apakah Anda menderita persendian yang kaku dan teru...
Cara Mengubah Pengaturan Mouse dan Touchpad Menggunakan Xinput di Linux
Sebagian besar distribusi Linux dikirimkan dengan pustaka "libinput" secara default untuk menangani kejadian input pada sistem. Ini dapat memproses ke...
Petakan ulang tombol mouse Anda secara berbeda untuk perangkat lunak yang berbeda dengan Kontrol Tombol X-Mouse
Mungkin Anda membutuhkan alat yang dapat membuat kontrol mouse Anda berubah dengan setiap aplikasi yang Anda gunakan. Jika demikian, Anda dapat mencob...