2010-12-15 32 views

Trả lời

13

Bạn không thể thay đổi thuộc tính IDENTITY của cột trên bảng hiện có. Những gì bạn có thể làm là thêm một cột mới với thuộc tính IDENTITY, xóa cột cũ và đổi tên cột mới với tên cột cũ.

Tất nhiên, những gì xảy ra sau đó (đối với một số người) là họ không thích thực tế là cột mới xuất hiện "ở cuối" của danh sách các cột (mặc dù bạn không nên quan tâm đến các vị trí cột - bạn nên luôn sử dụng tên của chúng). Trong trường hợp đó, bạn cần thực hiện cùng một thủ thuật, nhưng ở mức cao hơn - tạo một bảng mới (với định nghĩa cột bị thay đổi), sao chép dữ liệu từ bảng cũ sang bảng mới, thả bảng cũ và đổi tên bảng mới .

Tôi nghĩ SSMS vẫn cố giả vờ rằng điều đó là có thể, bằng cách thực hiện mẹo thứ hai sau hậu trường.

24

Kiểm tra loại dữ liệu cột của bạn.

Nếu đó là varchar thì bạn không thể thay đổi cột nhận dạng.

Để thay đổi cột nhận dạng, cột phải có loại dữ liệu int.

+0

cảm ơn bạn. vấn đề của tôi là về điều này – Ritz

12

Bạn có thể tắt Tùy chọn "ngăn lưu thay đổi yêu cầu tạo lại bảng" nhưng điều này không được khuyến cáo bởi msdn.

để làm như vậy đi:

Tools -> Options -> thiết kế Có bỏ: "ngăn chặn những thay đổi tiết kiệm đòi hỏi bảng tái tạo"

+0

Nếu bạn nhận thấy nhận xét cho câu hỏi của tôi, tôi đã tìm ra vấn đề là gì. – malckier

9

Ngoài ra kiểm tra để đảm bảo rằng không có một giá trị mặc định hoặc ràng buộc trên cột.

+1

Đây là câu trả lời thực sự của câu hỏi này theo ý kiến ​​của tôi. –

0

Theo dõi từ bình luận của Damien_The_Unbeliever ở trên, bạn có thể chỉnh sửa thứ tự cột trong giao diện thiết kế của Visual Studio.

Tôi đã thực hiện thành công việc này. Để xác nhận, các bước như sau:

  1. Thêm một cột mới với SẮC tài sản
  2. xóa các cột cũ,
  3. Đổi tên cột mới với tên cột cũ.
  4. (Tùy chọn) Sắp xếp lại các cột để có cột IDENTITY từ Visual Studio.
1

Xóa giá trị mặc định hoặc ràng buộc.

Các vấn đề liên quan