Jika saya menggunakan perintah SQL berikut di SQL Server 2008 untuk memperbarui tabel dengan batasan kunci asing:
ALTER TABLE Employees
ADD FOREIGN KEY (UserID)
REFERENCES ActiveDirectories(id)
UserID
menjadi kolom FK saya di Employees
tabel. Saya mencoba merujuk UserID
pada ActiveDirectories
tabel saya . Saya menerima kesalahan ini:
'UserID' kunci asing merujuk pada kolom 'UserID' yang tidak valid dalam tabel referensi 'Karyawan'.
sql-server-2008
foreign-key-relationship
ExceptionLimeCat
sumber
sumber
Jawaban:
Kesalahan menunjukkan bahwa tidak ada kolom UserID di tabel karyawan Anda. Coba tambahkan kolom terlebih dahulu dan kemudian jalankan kembali pernyataan tersebut.
sumber
There are no primary or candidate keys in the referenced table 'ActiveDirectories' that match the referencing column list in the foreign key 'FK__Employees__UserI__04E4BC85'.
Mungkin Anda mendapatkan kolom Anda mundur ??
Mungkinkah kolom itu disebut
ID
diEmployees
tabel, danUserID
diActiveDirectories
tabel?Maka perintah Anda harus:
sumber
Akses MySQL / SQL Server / Oracle / MS:
Untuk mengizinkan penamaan batasan FOREIGN KEY, dan untuk menentukan batasan FOREIGN KEY pada beberapa kolom, gunakan sintaks SQL berikut:
Akses MySQL / SQL Server / Oracle / MS:
sumber
sumber
cara pembuatan kunci asing yang benar untuk ActiveDirectories (id), saya pikir kesalahan utamanya adalah Anda tidak menyebutkan kunci utama untuk id di tabel ActiveDirectories
sumber
Di masa depan.
sumber