เพิ่มคอลัมน์ที่มีค่าเริ่มต้นให้กับตารางที่มีอยู่ใน SQL Server


คำตอบ:


3498

ไวยากรณ์:

ALTER TABLE {TABLENAME} 
ADD {COLUMNNAME} {TYPE} {NULL|NOT NULL} 
CONSTRAINT {CONSTRAINT_NAME} DEFAULT {DEFAULT_VALUE}
WITH VALUES

ตัวอย่าง:

ALTER TABLE SomeTable
        ADD SomeCol Bit NULL --Or NOT NULL.
 CONSTRAINT D_SomeTable_SomeCol --When Omitted a Default-Constraint Name is autogenerated.
    DEFAULT (0)--Optional Default-Constraint.
WITH VALUES --Add if Column is Nullable and you want the Default Value for Existing Records.

หมายเหตุ:

ชื่อข้อ จำกัด เพิ่มเติม:
หากคุณไม่อยู่ที่อื่นCONSTRAINT D_SomeTable_SomeColSQL Server จะสร้างข้อ จำกัด
    เริ่มต้นโดยอัตโนมัติด้วยชื่อตลกเช่น:DF__SomeTa__SomeC__4FB7FEF6

ตัวเลือกที่มีค่างบ:เป็นสิ่งจำเป็นเฉพาะเมื่อคอลัมน์ของคุณ Nullable     และคุณต้องการเริ่มต้นราคาที่มีอยู่ใช้สำหรับประวัติ หากคอลัมน์ของคุณคือมันจะใช้ค่าเริ่มต้น     สำหรับระเบียนที่มีอยู่ทั้งหมดโดยอัตโนมัติไม่ว่าคุณจะระบุหรือไม่ก็ตาม
WITH VALUES

NOT NULL
WITH VALUES

วิธีการทำงานแทรกด้วยการเริ่มต้น- จำกัด :
ถ้าคุณใส่ลงในบันทึกSomeTableและไม่ได้ระบุSomeCol's 0คุ้มค่าแล้วมันจะเริ่มต้น
หากคุณแทรกระเบียนและระบุSomeColค่าของเป็นNULL(และคอลัมน์ของคุณอนุญาตเป็นโมฆะ)
    ดังนั้นข้อ จำกัด เริ่มต้นจะไม่ถูกใช้และNULLจะถูกแทรกเป็นค่า

หมายเหตุมาจากคำติชมที่ดีของทุกคนด้านล่าง
ขอขอบคุณเป็นพิเศษถึง:
    @Yatrix, @WalterStabosz, @YahooSerious และ @StackMan สำหรับความคิดเห็นของพวกเขา


332
โปรดทราบว่าหากคอลัมน์เป็นโมฆะดังนั้นค่า null จะเป็นค่าที่ใช้สำหรับแถวที่มีอยู่
Richard Collette

17
@Thecrocodilehunter คอลัมน์ Nullable หมายความว่าคุณสามารถแทรก Null สำหรับค่าคอลัมน์ได้ หากไม่ใช่คอลัมน์ที่มีค่าเป็นโมฆะคุณต้องใส่ค่าบางอย่างของชนิดข้อมูลนั้น ดังนั้นสำหรับระเบียนที่มีอยู่ Null จะถูกแทรกลงในระเบียนเหล่านั้นและในระเบียนใหม่ค่าเริ่มต้นของคุณจะถูกแทรกเว้นแต่จะระบุไว้เป็นอย่างอื่น ทำให้รู้สึก?
Yatrix

41
ฉันชอบคำตอบนี้ดีกว่า dbugger เล็กน้อยเพราะมันตั้งชื่อข้อ จำกัด เริ่มต้นอย่างชัดเจน ข้อ จำกัด เริ่มต้นยังคงสร้างขึ้นโดยใช้ไวยากรณ์ของ dbugger ยกเว้นชื่อจะถูกสร้างขึ้นโดยอัตโนมัติ การรู้ชื่อที่แน่นอนนั้นมีประโยชน์เมื่อเขียนสคริปต์ DROP-CREATE
วอลเตอร์ Stabosz

18
@Vertigo NOT NULLนั่นคือความจริงเท่านั้นถ้าคอลัมน์ที่เป็น โปรดลองนี้create table blah(a int not null primary key clustered); insert blah values (1), (2); alter table blah add b int null constraint df_blah_b default (0); select * from blah;คุณจะเห็น 2 bค่าเป็นศูนย์สำหรับคอลัมน์
ErikE

48
ใช้WITH VALUESเพื่ออัปเดตแถว nullable ที่มีอยู่ ดูMSDN : "ถ้าคอลัมน์เพิ่มอนุญาตให้มีค่า Null และWITH VALUESระบุไว้ค่าเริ่มต้นจะถูกเก็บไว้ในคอลัมน์ใหม่เพิ่มในแถวที่มีอยู่"
Yahoo Serious

1008
ALTER TABLE Protocols
ADD ProtocolTypeID int NOT NULL DEFAULT(1)
GO

การรวมค่าเริ่มต้นเติมคอลัมน์ในแถวที่มีอยู่ด้วยค่าเริ่มต้นดังนั้นข้อ จำกัด NOT NULL จึงไม่ถูกละเมิด


13
ปัญหาเกี่ยวกับคำตอบนั้นคือค่าเริ่มต้นจะใช้ได้สำหรับระเบียนใหม่เท่านั้น ระเบียนที่มีอยู่จะยังคงมีค่าเป็นศูนย์
Roee Gavirel

130
คุณจะพบว่าไม่ใช่กรณี มิฉะนั้นจะถูกละเมิดข้อ จำกัด
dbugger

35
คอลัมน์ในแถวที่มีอยู่จะเต็มไปด้วยค่าเริ่มต้น การทดสอบเชิงประจักษ์เล็กน้อยจะพิสูจน์ได้
dbugger

80
เพียงเพื่อชี้แจง - หากละเว้น "NOT NULL" จากคำสั่งค่าสำหรับแถวที่มีอยู่จะไม่ได้รับการปรับปรุงและจะยังคงเป็น NULL หาก "NOT NULL" รวมอยู่ในคำสั่งค่าของแถวที่มีอยู่จะถูกอัปเดตให้ตรงกับค่าเริ่มต้น
สแต็คแมน

15
สำหรับหลายคอลัมน์ แก้ไขตาราง table_1 เพิ่ม col_1 int ไม่ใช่ค่าเริ่มต้น (1), col_2 int NULL
aads

233

เมื่อเพิ่มคอลัมน์ที่ไม่WITH VALUESสามารถใช้ได้จะทำให้แน่ใจว่าค่า DEFAULT ที่เฉพาะเจาะจงถูกนำไปใช้กับแถวที่มีอยู่:

ALTER TABLE table
ADD column BIT     -- Demonstration with NULL-able column added
CONSTRAINT Constraint_name DEFAULT 0 WITH VALUES

13
นี่คือจุดสำคัญ เป็นเรื่องง่ายที่จะสมมติว่าคอลัมน์ที่มีDEFAULTข้อ จำกัด จะมีค่าอยู่เสมอนั่นคือไม่ใช่ NULL แม้ว่าNOT NULLจะไม่ได้ระบุก็ตาม
Bill Brinkley

6
@tkocmathla เอ่อผมไม่ได้พูดคุยเกี่ยวกับBITประเภทข้อมูลที่ผมได้พูดคุยเกี่ยวกับเรื่องนี้โดยเฉพาะอย่างยิ่งคอลัมน์BIT NOT NULLดูคำตอบที่คอลัมน์ถูกประกาศให้เป็น
rsenna

136
ALTER TABLE <table name> 
ADD <new column name> <data type> NOT NULL
GO
ALTER TABLE <table name> 
ADD CONSTRAINT <constraint name> DEFAULT <default value> FOR <new column name>
GO

7
สิ่งนี้จะไม่ทำงานหากตารางมีเนื้อหาอยู่แล้วเนื่องจากคอลัมน์ "ไม่เป็น
โมฆะ

129
ALTER TABLE MYTABLE ADD MYNEWCOLUMN VARCHAR(200) DEFAULT 'SNUGGLES'

13
นี้เพิ่มเป็นโมฆะจะต้องไม่เป็นโมฆะก่อน
baaroz

5
@baaroz, สิ่งนี้ใช้ได้กับ NOT NULL: แก้ไขตาราง MYTABLE เพิ่ม MYNEWCOLUMN VARCHAR (200) ไม่เป็นค่าเริ่มต้น 'SNUGGLES'
shaijut

100

ระวังเมื่อคอลัมน์ที่คุณเพิ่มมีNOT NULLข้อ จำกัด แต่ไม่มีDEFAULTข้อ จำกัด (ค่า) ALTER TABLEคำสั่งจะล้มเหลวในกรณีที่ว่าถ้าตารางมีแถวใด ๆ อยู่ในนั้น วิธีแก้ไขคือลบNOT NULLข้อ จำกัด ออกจากคอลัมน์ใหม่หรือกำหนดDEFAULTข้อ จำกัด


2
ใด ๆตัวอย่าง SQLเกี่ยวกับเรื่องนี้?
Kiquenet

98

รุ่นพื้นฐานที่สุดที่มีสองบรรทัดเท่านั้น

ALTER TABLE MyTable
ADD MyNewColumn INT NOT NULL DEFAULT 0

81

ใช้:

-- Add a column with a default DateTime  
-- to capture when each record is added.

ALTER TABLE myTableName  
ADD RecordAddedDate SMALLDATETIME NULL DEFAULT (GETDATE())  
GO 

79

หากคุณต้องการเพิ่มหลายคอลัมน์คุณสามารถทำได้เช่น:

ALTER TABLE YourTable
    ADD Column1 INT NOT NULL DEFAULT 0,
        Column2 INT NOT NULL DEFAULT 1,
        Column3 VARCHAR(50) DEFAULT 'Hello'
GO


54

ในการเพิ่มคอลัมน์ในตารางฐานข้อมูลที่มีอยู่ด้วยค่าเริ่มต้นเราสามารถใช้:

ALTER TABLE [dbo.table_name]
    ADD [Column_Name] BIT NOT NULL
Default ( 0 )

นี่เป็นอีกวิธีในการเพิ่มคอลัมน์ในตารางฐานข้อมูลที่มีอยู่ด้วยค่าเริ่มต้น

สคริปต์ SQL ที่ละเอียดมากยิ่งขึ้นเพื่อเพิ่มคอลัมน์ที่มีค่าเริ่มต้นอยู่ด้านล่างรวมถึงการตรวจสอบว่ามีคอลัมน์อยู่ก่อนที่จะเพิ่มหรือไม่ก็ตรวจสอบข้อ จำกัด และวางลงหากมี สคริปต์นี้ยังตั้งชื่อข้อ จำกัด เพื่อให้เรามีรูปแบบการตั้งชื่อที่ดี (ฉันชอบ DF_) และหากไม่ใช่ SQL จะทำให้เรามีข้อ จำกัด ด้วยชื่อที่มีหมายเลขที่สร้างแบบสุ่ม ดังนั้นจึงเป็นเรื่องดีที่สามารถตั้งชื่อข้อ จำกัด ได้เช่นกัน

-------------------------------------------------------------------------
-- Drop COLUMN
-- Name of Column: Column_EmployeeName
-- Name of Table: table_Emplyee
--------------------------------------------------------------------------
IF EXISTS (
            SELECT 1
            FROM INFORMATION_SCHEMA.COLUMNS
            WHERE TABLE_NAME = 'table_Emplyee'
              AND COLUMN_NAME = 'Column_EmployeeName'
           )
    BEGIN

        IF EXISTS ( SELECT 1
                    FROM sys.default_constraints
                    WHERE object_id = OBJECT_ID('[dbo].[DF_table_Emplyee_Column_EmployeeName]')
                      AND parent_object_id = OBJECT_ID('[dbo].[table_Emplyee]')
                  )
            BEGIN
                ------  DROP Contraint

                ALTER TABLE [dbo].[table_Emplyee] DROP CONSTRAINT [DF_table_Emplyee_Column_EmployeeName]
            PRINT '[DF_table_Emplyee_Column_EmployeeName] was dropped'
            END
     --    -----   DROP Column   -----------------------------------------------------------------
        ALTER TABLE [dbo].table_Emplyee
            DROP COLUMN Column_EmployeeName
        PRINT 'Column Column_EmployeeName in images table was dropped'
    END

--------------------------------------------------------------------------
-- ADD  COLUMN Column_EmployeeName IN table_Emplyee table
--------------------------------------------------------------------------
IF NOT EXISTS (
                SELECT 1
                FROM INFORMATION_SCHEMA.COLUMNS
                WHERE TABLE_NAME = 'table_Emplyee'
                  AND COLUMN_NAME = 'Column_EmployeeName'
               )
    BEGIN
    ----- ADD Column & Contraint
        ALTER TABLE dbo.table_Emplyee
            ADD Column_EmployeeName BIT   NOT NULL
            CONSTRAINT [DF_table_Emplyee_Column_EmployeeName]  DEFAULT (0)
        PRINT 'Column [DF_table_Emplyee_Column_EmployeeName] in table_Emplyee table was Added'
        PRINT 'Contraint [DF_table_Emplyee_Column_EmployeeName] was Added'
     END

GO

นี่คือสองวิธีในการเพิ่มคอลัมน์ในตารางฐานข้อมูลที่มีอยู่ด้วยค่าเริ่มต้น


52

คุณสามารถทำสิ่งนี้กับ T-SQL ได้ด้วยวิธีต่อไปนี้

 ALTER TABLE {TABLENAME}
 ADD {COLUMNNAME} {TYPE} {NULL|NOT NULL}
 CONSTRAINT {CONSTRAINT_NAME} DEFAULT {DEFAULT_VALUE}

เช่นเดียวกับที่คุณสามารถใช้SQL Server Management Studioได้โดยคลิกขวาที่ตารางในเมนูออกแบบตั้งค่าเริ่มต้นเป็นตาราง

นอกจากนี้หากคุณต้องการเพิ่มคอลัมน์เดียวกัน (หากไม่มีอยู่) ในตารางทั้งหมดในฐานข้อมูลให้ใช้:

 USE AdventureWorks;
 EXEC sp_msforeachtable
'PRINT ''ALTER TABLE ? ADD Date_Created DATETIME DEFAULT GETDATE();''' ;

50

ใน SQL Server 2008-R2 ฉันไปที่โหมดการออกแบบ - ในฐานข้อมูลทดสอบ - และเพิ่มคอลัมน์สองคอลัมน์ของฉันโดยใช้ผู้ออกแบบและทำการตั้งค่าด้วย GUI จากนั้นคนที่น่าอับอายRight-Clickก็มีตัวเลือก " สร้างสคริปต์การเปลี่ยนแปลง "!

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


48

หรือคุณสามารถเพิ่มค่าเริ่มต้นโดยไม่ต้องตั้งชื่อข้อ จำกัด อย่างชัดเจน:

ALTER TABLE [schema].[tablename] ADD  DEFAULT ((0)) FOR [columnname]

หากคุณมีปัญหากับข้อ จำกัด เริ่มต้นที่มีอยู่เมื่อสร้างข้อ จำกัด นี้คุณสามารถลบได้โดย:

alter table [schema].[tablename] drop constraint [constraintname]

1
FYI ตั้งชื่อข้อ จำกัด อย่างชัดเจนโดยใช้รูปแบบการตั้งชื่อมาตรฐาน (เช่น "DF_Table_Column") เพื่อความสะดวกในการบำรุงรักษา มิฉะนั้นการหาข้อ จำกัด ต้องใช้งานมากกว่านี้
Mike Christian

43

สิ่งนี้สามารถทำได้ใน SSMS GUI เช่นกัน ฉันแสดงวันที่เริ่มต้นด้านล่าง แต่ค่าเริ่มต้นอาจเป็นอะไรก็ได้แน่นอน

  1. วางตารางของคุณในมุมมองออกแบบ (คลิกขวาบนตารางใน Object explorer-> Design)
  2. เพิ่มคอลัมน์ในตาราง (หรือคลิกที่คอลัมน์ที่คุณต้องการอัปเดตหากมีอยู่แล้ว)
  3. ในคุณสมบัติคอลัมน์ด้านล่างให้ป้อน(getdate())หรือabcหรือ0ค่าใด ๆ ที่คุณต้องการในค่าเริ่มต้นหรือเขตข้อมูลที่มีผลผูกพันตามภาพด้านล่าง:

ป้อนคำอธิบายรูปภาพที่นี่





22

สร้างโต๊ะด้วยชื่อนักเรียนก่อน:

CREATE TABLE STUDENT (STUDENT_ID INT NOT NULL)

เพิ่มหนึ่งคอลัมน์ลงไป:

ALTER TABLE STUDENT 
ADD STUDENT_NAME INT NOT NULL DEFAULT(0)

SELECT * 
FROM STUDENT

ตารางถูกสร้างขึ้นและคอลัมน์จะถูกเพิ่มในตารางที่มีอยู่ด้วยค่าเริ่มต้น

ภาพ 1


19

มีคำตอบมากมาย แต่ฉันรู้สึกว่าต้องเพิ่มวิธีการเพิ่มเติมนี้ ดูเหมือนจะนานกว่านี้ แต่มีประโยชน์อย่างมากหากคุณเพิ่มเขตข้อมูล NULL ลงในตารางที่มีแถวนับล้านแถวในฐานข้อมูลที่ใช้งานอยู่

ALTER TABLE {schemaName}.{tableName}
    ADD {columnName} {datatype} NULL
    CONSTRAINT {constraintName} DEFAULT {DefaultValue}

UPDATE {schemaName}.{tableName}
    SET {columnName} = {DefaultValue}
    WHERE {columName} IS NULL

ALTER TABLE {schemaName}.{tableName}
    ALTER COLUMN {columnName} {datatype} NOT NULL

สิ่งนี้จะทำคือเพิ่มคอลัมน์เป็นเขตข้อมูล null และด้วยค่าเริ่มต้นปรับปรุงเขตข้อมูลทั้งหมดเป็นค่าเริ่มต้น (หรือคุณสามารถกำหนดค่าที่มีความหมายเพิ่มเติม) และในที่สุดมันจะเปลี่ยนคอลัมน์เป็นไม่เป็นโมฆะ

เหตุผลนี้คือถ้าคุณอัปเดตตารางขนาดใหญ่และเพิ่มเขตข้อมูลใหม่ที่ไม่ใช่ค่าว่างจะต้องเขียนไปยังทุกแถวเดียวและในที่นี้จะล็อคตารางทั้งหมดเนื่องจากจะเพิ่มคอลัมน์แล้วเขียนค่าทั้งหมด

วิธีนี้จะเพิ่มคอลัมน์ nullable ที่ทำงานเร็วขึ้นมากแล้วกรอกข้อมูลก่อนที่จะตั้งค่าสถานะไม่ null

ฉันพบว่าการทำสิ่งทั้งหมดในคำสั่งเดียวจะล็อกตารางที่ใช้งานของเราให้มากขึ้นเป็นเวลา 4-8 นาทีและบ่อยครั้งที่ฉันได้ฆ่ากระบวนการ วิธีนี้แต่ละส่วนมักใช้เวลาเพียงไม่กี่วินาทีและทำให้เกิดการล็อคน้อยที่สุด

นอกจากนี้หากคุณมีตารางในส่วนของพันล้านแถวมันอาจคุ้มค่าที่จะทำการอัพเดทเช่นกัน:

WHILE 1=1
BEGIN
    UPDATE TOP (1000000) {schemaName}.{tableName}
        SET {columnName} = {DefaultValue}
        WHERE {columName} IS NULL

    IF @@ROWCOUNT < 1000000
        BREAK;
END


18

SQL Server + แก้ไขตาราง + เพิ่มคอลัมน์ + ตัวระบุที่ไม่ซ้ำกันของค่าเริ่มต้น

ALTER TABLE Product 
ADD ReferenceID uniqueidentifier not null 
default (cast(cast(0 as binary) as uniqueidentifier))

18
IF NOT EXISTS (
    SELECT * FROM INFORMATION_SCHEMA.COLUMNS
    WHERE TABLE_NAME ='TABLENAME' AND COLUMN_NAME = 'COLUMNNAME'
)
BEGIN
    ALTER TABLE TABLENAME ADD COLUMNNAME Nvarchar(MAX) Not Null default
END

3
ฉันชอบการNOT EXISTSตรวจสอบก่อนที่จะพยายามปรับเปลี่ยนตาราง ทางออกที่ดีมาก ความเห็นเพิ่มเติมเกี่ยวกับวิธีการทำงานนี้จะทำให้มีประโยชน์มากยิ่งขึ้น
Michael Gaskill

17
--Adding Value with Default Value
ALTER TABLE TestTable
ADD ThirdCol INT NOT NULL DEFAULT(0)
GO

อาจแทนที่ภาพด้วยรหัสจริง? คัดลอกและวางได้ยาก
David Faber

6
สิ่งนี้จะไม่เพิ่มมูลค่าใด ๆ ในคำตอบที่มีอยู่แล้วจากปีที่แล้ว
nvoigt

14

เพิ่มคอลัมน์ใหม่ไปยังตาราง:

ALTER TABLE [table]
ADD Column1 Datatype

ตัวอย่างเช่น,

ALTER TABLE [test]
ADD ID Int

หากผู้ใช้ต้องการทำให้เพิ่มขึ้นอัตโนมัติ:

ALTER TABLE [test]
ADD ID Int IDENTITY(1,1) NOT NULL

13

นี่สำหรับ SQL Server:

ALTER TABLE TableName
ADD ColumnName (type) -- NULL OR NOT NULL
DEFAULT (default value)
WITH VALUES

ตัวอย่าง:

ALTER TABLE Activities
ADD status int NOT NULL DEFAULT (0)
WITH VALUES

หากคุณต้องการเพิ่มข้อ จำกัด แล้ว:

ALTER TABLE Table_1
ADD row3 int NOT NULL
CONSTRAINT CONSTRAINT_NAME DEFAULT (0)
WITH VALUES

7
สิ่งนี้จะไม่เพิ่มมูลค่าใด ๆ ในคำตอบที่มีอยู่แล้วจากปีที่แล้ว
nvoigt

11

ซึ่งสามารถทำได้โดยรหัสด้านล่าง

CREATE TABLE TestTable
    (FirstCol INT NOT NULL)
    GO
    ------------------------------
    -- Option 1
    ------------------------------
    -- Adding New Column
    ALTER TABLE TestTable
    ADD SecondCol INT
    GO
    -- Updating it with Default
    UPDATE TestTable
    SET SecondCol = 0
    GO
    -- Alter
    ALTER TABLE TestTable
    ALTER COLUMN SecondCol INT NOT NULL
    GO

10

ลองด้วยแบบสอบถามด้านล่าง:

ALTER TABLE MyTable
ADD MyNewColumn DataType DEFAULT DefaultValue

จะเป็นการเพิ่มคอลัมน์ใหม่ลงในตาราง


6
คำตอบนี้ได้รับจากผู้ใช้รายอื่นสำหรับคำถามนี้
janith1024

9
ALTER TABLE tbl_table ADD int_column int NOT NULL DEFAULT(0)

จากแบบสอบถามนี้คุณสามารถเพิ่มคอลัมน์ของประเภทข้อมูลจำนวนเต็มด้วยค่าเริ่มต้น 0


9

ตอนนี้ฉันมีการดัดแปลงคำตอบก่อนหน้าของฉัน IF NOT EXISTSฉันได้สังเกตเห็นว่าไม่มีคำตอบดังกล่าว ดังนั้นฉันจะให้ทางออกใหม่ของมันเพราะฉันประสบปัญหาบางอย่างในการปรับเปลี่ยนตาราง

IF NOT EXISTS (SELECT * FROM INFORMATION_SCHEMA.columns WHERE table_name = 'TaskSheet' AND column_name = 'IsBilledToClient')
BEGIN
ALTER TABLE dbo.TaskSheet ADD
 IsBilledToClient bit NOT NULL DEFAULT ((1))
END
GO

นี่TaskSheetคือชื่อตารางเฉพาะและIsBilledToClientเป็นคอลัมน์ใหม่ที่คุณจะแทรกและ1ค่าเริ่มต้น ซึ่งหมายความว่าในคอลัมน์ใหม่สิ่งที่จะเป็นค่าของแถวที่มีอยู่ดังนั้นจะมีการตั้งค่าโดยอัตโนมัติ อย่างไรก็ตามคุณสามารถเปลี่ยนแปลงได้ตามที่คุณต้องการด้วยความเคารพประเภทคอลัมน์เช่นฉันได้ใช้BITดังนั้นฉันใส่ค่าเริ่มต้น 1

ฉันแนะนำระบบด้านบนเพราะฉันประสบปัญหา แล้วปัญหาคืออะไร ปัญหาคือถ้าIsBilledToClientคอลัมน์มีอยู่ในตารางตารางแล้วถ้าคุณดำเนินการเฉพาะส่วนของรหัสที่ระบุด้านล่างคุณจะเห็นข้อผิดพลาดในตัวสร้างแบบสอบถามเซิร์ฟเวอร์ SQL แต่ถ้ามันไม่มีอยู่เป็นครั้งแรกจะไม่มีข้อผิดพลาดเมื่อดำเนินการ

ALTER TABLE {TABLENAME}
ADD {COLUMNNAME} {TYPE} {NULL|NOT NULL}
CONSTRAINT {CONSTRAINT_NAME} DEFAULT {DEFAULT_VALUE}
[WITH VALUES]
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.