Tôi cho rằng mọi người sẽ gặp sự cố này một lần trong một thời gian: bạn có hai bảng có tự động sửa các khóa chính cần được hợp nhất. Có nhiều lý do chính đáng tại sao việc tự động sửa các khóa chính được sử dụng có lợi cho việc nói các khóa do ứng dụng tạo ra, nhưng việc hợp nhất với các bảng khác phải là một trong những hạn chế lớn nhất.Làm cách nào để hợp nhất các bảng bằng các khóa chính tự động?
Một số vấn đề phát sinh là các id trùng lặp và không đồng bộ hóa các khóa ngoại. Tôi muốn nghe cách tiếp cận của bạn để giải quyết vấn đề này. Tôi luôn gặp rắc rối, vì vậy tôi rất tò mò nếu có ai đó có một giải pháp chung nào đó.
- EDIT -
Để đối phó với các câu trả lời gợi ý để sử dụng guids hoặc phím không phải số khác, có những tình huống mà trước nó chỉ có vẻ là một ý tưởng tốt hơn để sử dụng các phím autonumber (và bạn hối tiếc sau này), hoặc bạn đang tiếp quản dự án của người khác, hoặc bạn nhận được một số cơ sở dữ liệu cũ mà bạn phải làm việc cùng. Vì vậy, tôi thực sự đang tìm kiếm một giải pháp mà bạn không có quyền kiểm soát thiết kế cơ sở dữ liệu nữa.
Câu hỏi có ý nghĩa hơn theo một cách chung chung, không quá nhiều nơi bạn biết điều gì sẽ xảy ra trước (vì sau đó bạn có thể đã sử dụng guids). – Carvellis
Có vẻ như một ý tưởng, để tính new_id = old_id * 2 cho bảng đầu tiên và new_id = (old_id * 2) + 1 cho bảng thứ hai. Nếu bạn làm điều này cho tất cả các bảng liên quan đến mọi thứ sẽ khớp lại và bạn có thể kích hoạt lại các ràng buộc khóa ngoài. – thomaspaulb