2010-03-26 39 views
110

bất cứ ai có thể cho tôi biết đâu là sai lầm trong truy vấn sauAlter bảng thêm nhiều cột MS SQL

ALTER TABLE Countries 
ADD ( 
HasPhotoInReadyStorage bit, 
HasPhotoInWorkStorage bit, 
HasPhotoInMaterialStorage bit, 
HasText bit); 

ALTER TABLE Regions 
ADD (HasPhotoInReadyStorage bit, 
HasPhotoInWorkStorage bit, 
HasPhotoInMaterialStorage bit 
HasText bit); 

ALTER TABLE Provinces 
ADD (HasPhotoInReadyStorage bit, 
HasPhotoInWorkStorage bit, 
HasPhotoInMaterialStorage bit 
HasText bit); 


ALTER TABLE Cities 
ADD (HasPhotoInReadyStorage bit, 
HasPhotoInWorkStorage bit, 
HasPhotoInMaterialStorage bit 
HasText bit); 

Alter table Hotels 
Add 
{ 
HasPhotoInReadyStorage bit, 
HasPhotoInWorkStorage bit, 
HasPhotoInMaterialStorage bit, 
HasHotelPhotoInReadyStorage bit, 
HasHotelPhotoInWorkStorage bit, 
HasHotelPhotoInMaterialStorage bit, 
HasReporterData bit, 
HasMovieInReadyStorage bit, 
HasMovieInWorkStorage bit, 
HasMovieInMaterialStorage bit 
}; 

tôi nhận được các lỗi sau đây:

Msg 102, Level 15, State 1, Line 2 
Incorrect syntax near '('. 
Msg 102, Level 15, State 1, Line 9 
Incorrect syntax near '('. 
Msg 102, Level 15, State 1, Line 15 
Incorrect syntax near '('. 
Msg 102, Level 15, State 1, Line 22 
Incorrect syntax near '('. 
Msg 102, Level 15, State 1, Line 29 
Incorrect syntax near '{'. 
+0

có thể trùng lặp của [cách thêm nhiều cột vào bảng sql và thêm ràng buộc mặc định vào một trong số chúng?] (http://stackoverflow.com/questions/15184939/how-to-add-multiple-columns-to-sql -table-and-add-default-constraint-on-one-of-of) –

Trả lời

140

Đưa ra dấu ngoặc đơn và dấu ngoặc nhọn, không bắt buộc khi thêm cột.

+7

Ngoài ra kiểm tra dấu phẩy của bạn, có vẻ như bạn đang thiếu một số cho các cột từ hai đến cuối được thêm –

8
Alter table Hotels 
Add 
{ 
HasPhotoInReadyStorage bit, 
HasPhotoInWorkStorage bit, 
HasPhotoInMaterialStorage bit, 
HasHotelPhotoInReadyStorage bit, 
HasHotelPhotoInWorkStorage bit, 
HasHotelPhotoInMaterialStorage bit, 
HasReporterData bit, 
HasMovieInReadyStorage bit, 
HasMovieInWorkStorage bit, 
HasMovieInMaterialStorage bit 
}; 

Trên bạn đang sử dụng { ,}.

dấu phẩy Ngoài ra, bạn đang thiếu:

ALTER TABLE Regions 
ADD (HasPhotoInReadyStorage bit, 
HasPhotoInWorkStorage bit, 
HasPhotoInMaterialStorage bit <**** comma needed here 
HasText bit); 

Bạn cần phải loại bỏ các dấu ngoặc và chắc chắn rằng tất cả các cột có một dấu phẩy khi cần thiết.

+0

Tại sao '(' Nó đưa ra một lỗi với nó! – Adaptabi

109

Bạn cần phải loại bỏ các dấu ngoặc

ALTER TABLE Countries 
ADD 
HasPhotoInReadyStorage bit, 
HasPhotoInWorkStorage bit, 
HasPhotoInMaterialStorage bit, 
HasText bit; 
28

này nên làm việc trong T-SQL

ALTER TABLE Countries ADD 
HasPhotoInReadyStorage bit, 
HasPhotoInWorkStorage bit, 
HasPhotoInMaterialStorage bit, 
HasText bit GO 

http://msdn.microsoft.com/en-us/library/ms190273(SQL.90).aspx

+1

Không phải COLUMN THÊM của nó, chỉ cần TẤT CẢ CÁC BẢNG Quốc gia ADD HasPhotoInReadyStorage ... – jorgebg

+1

@jorgebg cảm ơn bạn đã dành thời gian để sửa tôi – Stefano

+1

cẩn thận không bao gồm GO - chỉ được sử dụng trong studio MGMC của MSSQL nhưng nó không phải là từ khóa sql hợp lệ. – increddibelly

1
ALTER TABLE Regions 
ADD (HasPhotoInReadyStorage bit, 
    HasPhotoInWorkStorage bit, 
    HasPhotoInMaterialStorage bit *(Missing ,)* 
    HasText bit); 
+0

Vui lòng chỉnh sửa với nhiều thông tin hơn. Các câu trả lời chỉ có mã và "dùng thử" này không được khuyến khích, bởi vì chúng không chứa nội dung có thể tìm kiếm được và không giải thích tại sao một người nào đó nên "thử cái này". Chúng tôi nỗ lực ở đây để trở thành một nguồn lực cho kiến ​​thức. –

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