首頁 >資料庫 >mysql教程 >如何為現有 SQL Server 表新增具有預設值的新欄位?

如何為現有 SQL Server 表新增具有預設值的新欄位?

Linda Hamilton
Linda Hamilton原創
2025-01-18 09:16:10331瀏覽

How to Add a New Column with a Default Value to an Existing SQL Server Table?

為現有 SQL Server 表新增具有預設值的新欄位

修改現有 SQL Server 表經常涉及新增欄位。 透過為新列指派預設值可以輕鬆增強此過程。 這確保了資料一致性並簡化了新行的插入。

SQL 語法:

<code class="language-sql">ALTER TABLE {TABLENAME}
ADD {COLUMNNAME} {TYPE} {NULL | NOT NULL}
CONSTRAINT {CONSTRAINT_NAME} DEFAULT {DEFAULT_VALUE}
WITH VALUES;</code>

參數說明:

  • {TABLENAME}:您正在修改的表格的名稱。
  • {COLUMNNAME}:您為新欄位指定的名稱。
  • {TYPE}: 新欄位的資料型態(例如 INT、VARCHAR(255)、BIT)。
  • {NULL | NOT NULL}: 指定欄位是否可以接受 NULL 值。
  • {CONSTRAINT_NAME}: (可選)使用者定義的預設限制名稱。 如果省略,SQL Server 會自動產生一個名稱。
  • {DEFAULT_VALUE}: 如果插入期間未提供值,將自動指派給新列的值。
  • WITH VALUES:(可選)此子句將預設值套用至表中的現有行僅當列允許 NULL 值時。

實際範例:

讓我們在名為「Products」的表格中新增一個「IsActive」欄位(BIT 資料類型),允許 NULL 並將預設值設為 1(true):

<code class="language-sql">ALTER TABLE Products
ADD IsActive BIT NULL
CONSTRAINT DF_Products_IsActive
DEFAULT (1)
WITH VALUES;</code>

重要注意事項:

  • 約束名稱:雖然是可選的,但提供描述性約束名稱可以提高資料庫模式的可讀性和可維護性。
  • WITH VALUES 子句: 明智地使用 WITH VALUES。僅當您希望預先存在的行繼承預設值時才需要它。 否則,現有行將在新列中包含 NULL
  • 預設約束行為: 僅當未明確提供值時,預設約束才會指示插入期間使用的值。 如果您明確插入 NULL,則預設值將被忽略。

這個詳細的解釋和範例應該會讓在 SQL Server 中新增具有預設值的欄位成為一個簡單的過程。

以上是如何為現有 SQL Server 表新增具有預設值的新欄位?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn