Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Pelanggaran kesalahan kendala PRIMARY KEY SQL

Sesuai desain, tabel Anda [cresql].[dbo].[AR_Transactions] seharusnya hanya menyimpan satu nilai untuk kunci utama - dalam kasus Anda, ini tampaknya merupakan kombinasi kolom yang membentuk PK ini.

Ini bukan masalah SQL, tetapi tampaknya merupakan konsep desain.

Anda harus mencari tahu kombinasi tombol apa yang membentuk kunci utama Anda - mungkin desain menyatakan bahwa Anda dapat menyisipkan satu kali dan memperbaruinya nanti untuk kombinasi tersebut (walaupun saya tidak akan menganggap ini sebagai desain yang bagus).

EDIT

Karena Trans_Id adalah PK, dan Anda tidak menggunakan kolom itu di sisipan Anda, itu bisa dimasukkan sebagai IDENTITAS, sebagai DEFAULT (brrrrr), atau menggunakan PEMICU.

IDENTITAS: Periksa untuk melihat apakah spesifikasi IDENTITY kacau. Jika demikian, atur ulang saja. Berikut adalah cara Bagaimana saya bisa menyemai ulang kolom identitas dalam variabel tabel T-SQL?

DEFAULT: Ini adalah pilihan yang aneh, dan Anda mungkin harus bertanya kepada orang yang merancang database, membaca dokumentasi, atau sekadar mencari tahu sendiri. Bagaimanapun, ini adalah pilihan yang sangat tidak biasa.

PICU: Temukan pemicunya dan baca kode untuk melihat apa yang dilakukannya. Berikut adalah cara menemukan daftar pemicu Apa cara paling portabel untuk memeriksa apakah ada pemicu di SQL Server?

Skenario alternatif:

Mungkin ada pemicu yang dimasukkan ke dalam tabel AUDIT yang mungkin bermasalah. Periksa apakah tabel memiliki pemicu lain dan lihat apa yang mereka lakukan.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Menduplikasi baris berdasarkan nilai kolom di setiap baris

  2. SQL Server:Hanya entri terakhir di GROUP BY

  3. Bagaimana cara memasukkan tabel data ke tabel database SQL Server?

  4. Hapus Baris Duplikat di SQL Server

  5. Apakah perlu menggunakan # untuk membuat tabel temp di SQL server?