Tôi muốn sửa đổi một cột trong một máy chủ sql 2005 bảng thành IDENTITY (1,1)
Ngẫu nhiên bảng này trống và cột được thay đổi là khóa chính.
Cột này cũng là một khóa ngoại cho hai bảng khác.
sql máy chủ trợ giúp được lưu trữ thủ tục hoặc tiện ích cho thay đổi bảng thay đổi cột IDENTITY (1,1)
Sau khi googling tôi thấy rằng bạn không thể sử dụng cú pháp bảng thay đổi để sửa đổi một cột và biến nó thành cột thụt lề.
Liên kết # 1: How do I add the identity property to an existing column in SQL Server
Liên kết # 2: Adding an identity to an existing column -SQL Server
tôi đã kết thúc kiểm tra bảng phụ thuộc (2 trong số đó) loại bỏ các phím nước ngoài (tạo ra các kịch bản từ SSMS) sau đó thả bảng chính sau đó lại -tạo với bản sắc. (có thể thử tùy chọn đổi tên tại đây)
Sau đó tạo lại khóa ngoài cho hai bảng phụ thuộc trước đó.
Nhưng tất cả điều này là công việc thủ công, bất kỳ tập lệnh hoặc SP nào ngoài đó để làm việc này dễ dàng hơn.
Lý tưởng nhất là tất cả các bước sẽ được thực hiện bởi một kịch bản/công cụ/tiện ích như:
- Kiểm tra bảng phụ thuộc phím
- Tạo ra Tạo và thả các kịch bản nước ngoài chủ chốt cho việc này
- Tạo ra tạo tập lệnh cho bảng chính
- thả bảng chính (hoặc đổi tên bảng nếu bảng có dữ liệu)
- tái tạo bảng với cột sắc kích hoạt
- tái tạo phím nước ngoài
+1, có quá nhiều thứ cần thay đổi với bảng/cột/khóa/ràng buộc/v.v. nó sẽ không thể có một tiện ích cho mỗi. đó là lý do tại sao bạn có thể sử dụng GUI để tạo ra một kịch bản –
SSMS ném một lỗi, đây là tùy chọn đầu tiên tôi đã thử. Nên có đề cập trong các câu hỏi ... –
Cảm ơn các liên kết, vô hiệu hóa các tùy chọn làm việc như một say mê. –