SSMS
 sql >> Teknologi Basis Data >  >> Database Tools >> SSMS

SSMS mengizinkan catatan duplikat dalam tabel, tetapi bukan pembaruan berikutnya

Yang pernah dilakukan oleh studio manajemen hanyalah menyediakan UI untuk membuat beberapa SQL untuk Anda dan menjalankannya terhadap DB.

Dalam kasus Anda, setiap kali Anda menambahkan baris, itu menghasilkan pernyataan INSERT. Ini benar-benar valid.

Ketika Anda kemudian mencoba menggunakan UI untuk MENGHAPUS atau MEMPERBARUI satu catatan dari semua catatan duplikat ini, itu tidak dapat menghasilkan SQL untuk melakukan itu. Alasannya adalah, karena tidak ada kunci pada tabel, tidak ada cara untuk menghasilkan klausa WHERE yang akan mewakili catatan yang Anda coba UPDATE atau DELETE.

Pesan "kesalahan" itu terdengar sangat jelas dan valid bagi saya.

Adapun komentar Anda:

Yang mengejutkan saya, itu juga memungkinkan saya untuk memasukkan "nilai1" pada baris kedua dan masuk ke bawah - ini seharusnya tidak mungkin karena sekarang ada dua baris yang identik. Namun, karena saya hanya main-main, ini tidak mengganggu saya.

Jelas ini aneh dan merusak teori relasional, tapi saya tidak terlalu peduli karena ini hanya tabel yang saya buat untuk dipusingkan.

Tidak ada yang salah dengan memiliki tabel database yang memungkinkan duplikat, itu adalah hal yang benar-benar valid untuk dilakukan jika itu yang Anda butuhkan. Adapun tidak "peduli" atau "diganggu" bahwa Anda telah mengizinkan duplikat. Di situlah letak kesalahannya. Saat itulah Anda seharusnya menyadari bahwa Anda lupa menambahkan kunci utama.



  1. DBeaver
  2.   
  3. phpMyAdmin
  4.   
  5. Navicat
  6.   
  7. SSMS
  8.   
  9. MySQL Workbench
  10.   
  11. SQLyog
  1. SQL Management Studio tidak akan mengenali tabel yang ada setelah pembuatan skrip

  2. Waktu eksekusi LINQ ke SQL adalah 50x lebih lama dari SSMS SQL

  3. SQL Server Management Studio TIDAK mengizinkan saya membuat beberapa kunci asing ke beberapa kunci utama

  4. Koneksi jarak jauh ke MS SQL - Kesalahan menggunakan pyodbc vs sukses menggunakan SQL Server Management Studio

  5. Tidak dapat melampirkan database ASP.NET ke SQL Server Management Studio