Thông báo l?i 1785 x?y ra khi b?n t?o m?t h?n ch? nư?c ngoài chính mà có th? gây ra nhi?u thác đư?ng d?n

D?ch tiêu đ? D?ch tiêu đ?
ID c?a bài: 321843 - Xem s?n ph?m mà bài này áp d?ng vào.
Bung t?t c? | Thu g?n t?t c?

? Trang này

TRI?U CH?NG

B?n có th? nh?n đư?c thông báo l?i sau khi b?n t?o m?t h?n ch? nư?c ngoài chính:
Máy ch?: Msg 1785, t?ng 16, bang 1, d?ng 1 Gi?i thi?u các h?n ch? nư?c ngoài phím 'fk_two' trên b?ng 'table2' có th? gây ra chu k? ho?c nhi?u thác đư?ng d?n. Ch? đ?nh trên DELETE không có hành đ?ng ho?c hành đ?ng NO ON C?p Nh?t, ho?c s?a đ?i nh?ng h?n ch? nư?c ngoài chính khác. Máy ch?: Msg 1750, t?ng 16, bang 1, d?ng 1 Không th? t?o h?n ch?. Xem trư?c l?i.

NGUYÊN NHÂN

B?n nh?n đư?c thông báo l?i này b?i v? trong SQL Server, m?t b?ng không th? xu?t hi?n nhi?u hơn m?t th?i gian trong danh sách c?a t?t c? các t?ng hành referential đ?ng đang b?t đ?u b?ng cách xoá m?t ho?c m?t tuyên b? UPDATE. Ví d?, cây t?ng referential nh?ng hành đ?ng ph?i ch? có m?t đư?ng d?n đ?n m?t b?ng c? th? trên t?ng hành đ?ng referential cây.

CÁCH GI?I QUY?T KHÁC

Đ? làm vi?c xung quanh v?n đ? này, không t?o ra m?t ch?a khóa nư?c ngoài mà s? t?o ra nhi?u hơn m?t đư?ng d?n đ?n m?t b?ng trong m?t danh sách các t?ng referential nh?ng hành đ?ng.

B?n có th? thi hành toàn v?n referential theo nhi?u cách. Transformations Referential toàn v?n (DRI) là cách cơ b?n nh?t, nhưng nó c?ng là cách ít nh?t là d?o. N?u b?n c?n linh ho?t hơn, nhưng b?n v?n mu?n m?t m?c đ? cao c?a toàn v?n, b?n có th? s? d?ng gây nên đ? thay th?.

THÔNG TIN THÊM

M?u m? sau đây là m?t ví d? v? m?t n? l?c sáng t?o ngo?i khóa mà t?o ra các thông báo l?i:

Use tempdb
go
create table table1 (user_ID integer not null primary key, user_name
char(50) not null)
go

create table table2 (author_ID integer not null primary key, author_name
char(50) not null, lastModifiedBy integer not null, addedby integer not
null)

go

alter table table2 add constraint fk_one foreign key (lastModifiedby)
references table1 (user_ID) on delete cascade on update cascade
go
alter table table2 add constraint fk_two foreign key (addedby)
references table1(user_ID) on delete no action on update cascade
go
--this fails with the error because it provides a second cascading path to table2.

alter table table2 add constraint fk_two foreign key (addedby)
references table1 (user_ID) on delete no action on update no action
go
-- this works.
				

TÀI LIỆU THAM KHẢO

Đ? bi?t thêm chi ti?t, xin vui l?ng xem ch? đ? "Cascading Referential h?n ch? tính toàn v?n" trong SQL Server 2000 cu?n sách tr?c tuy?n.

Thu?c tính

ID c?a bài: 321843 - L?n xem xét sau cùng: 27 Tháng Tám 2011 - Xem xét l?i: 2.0
Áp d?ng
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft SQL Server 2000 Developer Edition
  • Microsoft SQL Server 2000 Enterprise Edition
  • Microsoft SQL Server 2000 Personal Edition
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Express Edition
  • Microsoft SQL Server 2005 Workgroup Edition
T? khóa: 
kbbug kbpending kbprb kbprogramming kbmt KB321843 KbMtvi
Máy d?ch
QUAN TRỌNG: Bài vi?t này đư?c d?ch b?ng ph?n m?m d?ch máy c?a Microsoft ch? không ph?i do con ngư?i d?ch. Microsoft cung c?p các bài vi?t do con ngư?i d?ch và c? các bài vi?t do máy d?ch đ? b?n có th? truy c?p vào t?t c? các bài vi?t trong Cơ s? Ki?n th?c c?a chúng tôi b?ng ngôn ng? c?a b?n. Tuy nhiên, bài vi?t do máy d?ch không ph?i lúc nào c?ng hoàn h?o. Lo?i bài vi?t này có th? ch?a các sai sót v? t? v?ng, cú pháp ho?c ng? pháp, gi?ng như m?t ngư?i nư?c ngoài có th? m?c sai sót khi nói ngôn ng? c?a b?n. Microsoft không ch?u trách nhi?m v? b?t k? s? thi?u chính xác, sai sót ho?c thi?t h?i nào do vi?c d?ch sai n?i dung ho?c do ho?t đ?ng s? d?ng c?a khách hàng gây ra. Microsoft c?ng thư?ng xuyên c?p nh?t ph?n m?m d?ch máy này.
Nh?p chu?t vào đây đ? xem b?n ti?ng Anh c?a bài vi?t này:321843

Cung cấp Phản hồi

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com