2009-10-08 40 views
5

Khi desiging một bảng trong SQL Server Management Studio 2005, nếu tôi chỉ định VARCHAR (10) cho một cột, khi tôi tab từ kiểu dữ liệu, SQL Server thay đổi nó thành VARCHAR (50). Tôi phải sau đó tab trở lại, thay đổi nó trở lại VARCHAR (10), và sau đó nó sẽ chấp nhận nó.SQL Server VARCHAR (10)

Tôi hiểu rằng có những lưu ý và xử lý lưu trữ có thể khiến VARCHAR (10) tương đương với CHAR (10) cho tất cả các mục đích và mục đích, nhưng có điều gì đó tôi bị thiếu không? Có đủ lý do mà tôi không xem xét, rằng hành vi mặc định của nhà thiết kế là tự động thay đổi độ dài của cột từ những gì tôi đã chỉ định?

+0

Phiên bản quản lý studio nào? Nếu năm 2008, bạn luôn có thể nhấn nút script và thay đổi varchar 50 trở lại 10. Tôi chưa bao giờ gặp phải điều này vì vậy tôi sẽ giả định một lỗi của nó trong phiên bản bạn đang sử dụng. – Codezy

+0

SSMS phiên bản 2005 - được thêm vào bài đăng. –

+0

Vẫn còn một lỗi trong SSMS 2008, kể từ 2011/04/28. Tôi có "varchar (10)" cột Tôi đang thay đổi để "nvarchar (10)". Tôi nhấp vào trường, tôi thêm một 'n', tôi bấm vào ... SSMS thay đổi nó thành "nvarchar (50)". Trong thực tế, tôi thậm chí đã cố gắng dán toàn bộ chuỗi "nvarchar (10)" vào cột kiểu dữ liệu, và khi tôi nhấp chuột đi, nó đặt lại nó thành "nvarchar (50)". Đây là một BUG HUGE. – Triynko

Trả lời

9

Không, đó là một lỗi trong SSMS khi bạn thoát khỏi một trường. Nó gây khó chịu.

+0

+1, xảy ra với tôi trong SQL Server 2005 –

+0

Vẫn còn một lỗi trong SSMS 2008 kể từ 2011/04/28. – Triynko

4

có lẽ đó chỉ là lỗi trong trình thiết kế.

0

Không, hoàn toàn không có lý do gì để nhà thiết kế thay đổi loại dữ liệu. Và tôi không thể tái tạo nó trong Management Studio 2008.

Nếu bạn đang rất thành nhà thiết kế, tạo ra một UDT (User-Defined Type) và sử dụng nó thay vì varchar(10):

create type dbo.MyChar from varchar(10) not null 
+0

đó là lỗi trong năm 2005 – BBlake

+0

Tôi đang sử dụng SSMS 2005, vì vậy có vẻ như chúng đã thay đổi (cố định) vào năm 2008. Tôi biết nó cũng giống như vậy vào năm 2000. –

+0

Bah. Không thể chỉnh sửa nhận xét. Tôi nghĩ * nó giống như vậy trong SSEM 2000, nhưng điều đó không có vẻ như vậy. –

0

Tôi rất muốn giới thiệu chuyển sang Toad cho SQL Server để thoát khỏi tất cả những phiền toái ..

+0

thật không may, đối với hầu hết chúng ta, trong thế giới doanh nghiệp của chúng tôi, đây không phải là một lựa chọn. Nếu nó không nằm trong danh sách được phê duyệt, nó bị cấm. – BBlake

2

tôi sẽ không bao giờ mạnh mẽ đề nghị sử dụng các nhà thiết kế để tạo ra một bảng hoặc thay đổi cấu trúc bảng. Bạn nên viết một bảng tạo hoặc thay đổi bảng câu lệnh cho điều đó và đặt nó vào điều khiển nguồn. Sau đó triển khai sản xuất dễ dàng hơn.

+0

Nghe, nghe! Cải thiện mã hóa SQL của bạn ... – gbn

0

Đây là lỗi trong ssms 2008 khi bạn đi đến nơi khác mà không cần nhấp vào kiểu dữ liệu cần cài đặt mặc định là varchar (50) .. vì vậy đừng lo lắng và không cần phải suy nghĩ, chỉ cần xử lý cẩn thận ..

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