Tôi có một bảng mà trường chính của nó "ID" lĩnh vực được sử dụng trong nhiều bảng khác như là chìa khóa nước ngoài.cách kiểm tra xem một khóa của bản ghi có được sử dụng trong các bảng khác dưới dạng khóa ngoài (sql) không?
Làm cách nào tôi có thể nhận ra rằng bản ghi từ bảng này (ví dụ: bản ghi đầu tiên "ID = 1") được sử dụng trong bảng khác?
Tôi không muốn chọn từ tất cả các bảng khác để hiểu nó gây ra các bảng rất nhiều và quan hệ. Tôi tìm kiếm một giải pháp, không có giải pháp làm việc hoặc tôi đã nhận nó sai. Hãy giúp tôi.
Bạn cần biết điều này để làm gì? Để không xóa một bản ghi nếu nó đang được sử dụng như một FK? Sau đó, đặt các khóa ngoại của các bảng khác thành "ON DELETE RESTRICT" thay vì "CASCADE". Bùng nổ, không còn vô tình xóa. –
Tôi có một trường Isdeleted mà tôi làm cho nó đúng nếu bất kỳ hồ sơ khác sử dụng ID hồ sơ này là khóa ngoại nhưng nếu ID của hồ sơ này không được sử dụng trong các bảng khác như khóa ngoài tôi muốn xóa nó. – ares
Máy chủ SQL không hỗ trợ ON DELETE RESTRICT, nhưng bạn có thể sử dụng ON DELETE NO ACTION để có được hành vi mong muốn (một lỗi nếu bạn cố gắng xóa một hàng được sử dụng bởi một bảng khác dưới dạng FK). –