Tôi dường như không thể có được quyền này, tôi đang cố gắng sửa đổi một trường là khóa ngoài, với việc xóa tầng ... tôi đang làm gì sai?Ràng buộc Postgresql
ALTER TABLE my_table
ADD CONSTRAINT $4
FOREIGN KEY my_field
REFERENCES my_foreign_table
ON DELETE CASCADE;
@Magnus Hagander, tại sao là 'trên cascade delete' hữu ích? Tôi không hiểu ... –
@Stephane Xem câu trả lời được chấp nhận cho [câu hỏi này] (http://stackoverflow.com/questions/14141266/postgresql-foreign-key-on-delete-cascade) "_A khóa ngoại với việc xóa tầng có nghĩa là nếu một bản ghi trong bảng cha bị xóa, thì các bản ghi tương ứng trong bảng con sẽ tự động bị xóa. Điều này được gọi là xóa tầng._ "Có vẻ như một cái gì đó bạn không muốn tự động bao gồm trừ khi bạn muốn gắn các bảng lại với nhau thay vì chỉ tạo một tham chiếu. –
@RichardD, khi bạn không bao gồm nó, bạn phải sử dụng từ khóa CASCADE với truy vấn, và bạn nhớ hậu quả sau đó :) – Line