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

SQL Server:Tidak dapat membuat hubungan

Kunci utama dalam tabel Person mungkin adalah sebuah identitas. Ini adalah bidang bilangan bulat yang bertambah secara otomatis.

Anda perlu membuat kunci asing di tabel alamat bertipe int, bukan identitas. Ini akan menampung bilangan bulat yang sesuai dengan catatan Person, tetapi Anda tidak ingin kunci asing bertambah secara otomatis. Untuk setiap record di tabel anak (alamat), Anda akan menetapkan nilai spesifik untuk kunci asing yang menunjukkan milik record induk (Orang) mana.

Contoh:

INSERT person (firstname, lastname) VALUES ('John', 'Smith')

Ini akan memasukkan catatan orang baru dan bidang personid akan terisi secara otomatis karena merupakan kolom IDENTITY.

Sekarang untuk memasukkan alamat dari John Smith, Anda perlu mengetahui personid-nya . Misalnya:

-- Say, for example, personid of John Smith is 55
INSERT address (personid, street, city) VALUES (55, 'High Street', 'London')

Jadi di person tabel personid dihasilkan secara otomatis tetapi di address tabel Anda menentukan nilai yang cocok dengan orang yang ada. Itulah inti dari kunci asing.

Tanpa informasi lebih lanjut tentang skema Anda, sulit untuk menebak masalahnya.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jatuhkan kunci utama menggunakan skrip di database SQL Server

  2. Bagaimana cara mengubah baris menjadi kolom di SQL Server?

  3. Rencana eksekusi tampilan yang dipartisi

  4. Pernyataan SQL Server 2008 IIF tampaknya tidak diaktifkan

  5. Kueri berjalan cepat, tetapi berjalan lambat dalam prosedur tersimpan