Tôi có bảng người dùng MySQL có khóa chính là khóa chính là số nguyên tự động gia tăng. Bảng đã được điền với các bản ghi có khóa nằm trong khoảng từ 0 đến 30.000. Tuy nhiên, không phải tất cả hồ sơ đều có. Một số người dùng đã bị xóa và do đó tôi có "lỗ hổng".Làm cách nào để ghi đè thuộc tính của khóa chính tăng tự động khi chèn giá trị vào bảng MySQL?
Giờ đây, khách hàng đã nhận ra họ đã xóa nhầm một nhóm người dùng và họ muốn tôi cấp lại những người dùng đó giữ cùng một ID mà họ có, để tương thích với back-end của thương mại điện tử. một máy hoàn toàn khác, nhưng sử dụng cùng một ID cho khách hàng.
Tại thời điểm này tôi:
- thay đổi cấu trúc của bảng, bằng cách loại bỏ các tài sản auto_increment từ ID
- thêm các hồ sơ tôi cần, xác định ID của họ
- quay trở lại các thay đổi để cấu trúc của bảng.
Có cách nào tốt hơn để đạt được điều này không? Có hàm SQL override
nào cho phép tôi buộc MySQL chấp nhận một giá trị duy nhất nhưng không nhất thiết phải là "số tiếp theo trong dòng" không?
Không phải là câu trả lời cho vấn đề ở đây, nhưng lưu ý quan trọng: Để tránh vô tình xóa bản ghi, không bao giờ thực sự xóa bản ghi. Đặt một trường như 'isActive' hoặc' deleted' hoặc 'archived' hoặc một cái gì đó của tự nhiên thành false (hoặc true, tùy theo ý nghĩa nào). Và khi bạn kéo các bản ghi, chỉ kéo các bản ghi được đánh dấu là đang hoạt động. Bằng cách đó những sai lầm như thế này trở nên dễ dàng để sửa chữa. Và đó là một hệ thống mạnh mẽ và linh hoạt hơn. (Lưu ý không quan trọng: Tôi đến đây để tìm cách tôi có thể tự động tăng lên như 1000 và chèn các bản ghi quan trọng vào nơi tôi muốn.) – RoboticRenaissance