Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Bagaimana cara saya memeriksa apakah nilai sudah ada di tabel?

Gunakan unique constraint . Coba masukkan/perbarui catatan dan tangkap pengecualian yang dilemparkan ketika batasan unik dilanggar. Ini adalah satu-satunya cara untuk menjamin alamat email yang unik; pemeriksaan pertama dan kemudian pembaruan rentan terhadap masalah konkurensi karena ada kemungkinan bahwa orang lain memperbarui catatannya ke nilai yang sama yang Anda coba atur tepat setelah Anda melakukan pemeriksaan dan sebelum memperbarui catatan.

Juga:pelajari cara menggunakan where -klausa. Anda sekarang mengambil SEMUA catatan, mengulanginya, dll. yang membutuhkan banyak sumber daya yang tidak perlu, memakan waktu terlalu lama dan hanya pemborosan. Jika Anda ingin memeriksa catatan yang cocok dengan kriteria yang Anda tulis:

Select foo, bar from table where baz = 123

Dimana baz = 123 adalah kriteria Anda. Bayangkan apa yang akan terjadi bila Anda memiliki 500, atau bahkan 500.000 catatan dalam pengaturan Anda saat ini. Basis data akan mengeksekusi kueri Anda, mengumpulkan SEMUA baris dari basis data itu, mentransfernya ke aplikasi Anda tempat aplikasi Anda akan mengulangi semua 500.000 hasil. Atau Anda meminta DB untuk melakukan apa yang baik (dan mengapa Anda menggunakannya di tempat pertama):Berikan/semua catatan yang cocok dengan kriteria X. Anda akan mendapatkan 1 atau tidak ada catatan (diberikan keunikan kendala):1 =beberapa catatan cocok dengan kriteria Anda, tidak ada =tidak ada catatan. Menghemat transfer dan "secara manual harus melihat" 499.999 catatan;-)




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. mySQL memuat data infile lokal format angka yang salah

  2. Bisakah saya menjalankan loop di MySQL tanpa menggunakan prosedur/fungsi?

  3. MYSQL pilih gabung beberapa tabel dan SUM

  4. Urutan pencarian teks lengkap MYSQL berdasarkan relevansi

  5. Mendapatkan data untuk plot histogram