ตารางแก้ไขเพิ่มหลายคอลัมน์ ms sql


144

ทุกคนสามารถบอกฉันว่าข้อผิดพลาดในแบบสอบถามต่อไปนี้อยู่ที่ไหน

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
};

ฉันได้รับข้อผิดพลาดดังต่อไปนี้:

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 '{'.

คำตอบ:


163

นำวงเล็บและวงเล็บปีกกาออกมาไม่จำเป็นเมื่อเพิ่มคอลัมน์


8
ตรวจสอบเครื่องหมายจุลภาคของคุณดูเหมือนว่าคุณจะหายไปหลายคอลัมน์สำหรับการเพิ่มคอลัมน์สองถึงครั้งสุดท้าย
Philip Kelley

151

คุณต้องลบวงเล็บ

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

และเพื่อวางหลายคอลัมน์:ALTER TABLE MyTable DROP COLUMN MyCol1, MyCol2, MyCol3
โหลด

35

สิ่งนี้ควรทำงานใน 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
ระวังไม่ให้รวม GO - ซึ่งใช้เฉพาะในเซิร์ฟเวอร์ MSSQL mgmt studio แต่ไม่ใช่คีย์เวิร์ด sql ที่ถูกต้อง
เหลือเชื่อ

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

เหนือคุณใช้ {,}

นอกจากนี้คุณยังขาดเครื่องหมายจุลภาค:

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

คุณต้องลบวงเล็บและตรวจสอบให้แน่ใจว่าคอลัมน์ทั้งหมดมีเครื่องหมายจุลภาคหากจำเป็น


4

สามารถมีค่า defaulth (T-SQL)

ALTER TABLE
    Regions
ADD
    HasPhotoInReadyStorage BIT NULL, --this column is nullable
    HasPhotoInWorkStorage BIT NOT NULL, --this column is not nullable
    HasPhotoInMaterialStorage BIT NOT NULL DEFAULT(0) --this column default value is false
GO

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

1
โปรดแก้ไขด้วยข้อมูลเพิ่มเติม รหัสเท่านั้นและคำตอบ "ลองนี้" จะหมดกำลังใจเพราะพวกเขาไม่มีเนื้อหาที่ค้นหาได้และอย่าอธิบายว่าทำไมบางคนควร "ลองนี้" เราใช้ความพยายามที่นี่เพื่อเป็นแหล่งข้อมูลสำหรับความรู้
Brian Tompsett - 汤莱恩
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.