SQL DEFAULTEinschränkungen

Die DEFAULT-Einschränkung wird verwendet, um einen Standardwert in eine Spalte einzufügen.

Wenn kein anderer Wert angegeben wird, wird der Standardwert allen neuen Datensätzen hinzugefügt.

Syntax

1. Definieren Sie eine DEFAULT-Einschränkung beim Erstellen einer Tabelle:

CREATE TABLE 表名 (
    列名 数据类型 DEFAULT 默认值
);

2. Fügen Sie einer vorhandenen Tabelle eine DEFAULT-Einschränkung hinzu:

ALTER TABLE 表名
ALTER COLUMN 列名 SET DEFAULT 默认值;

Beispiel

1. Definieren Sie eine DEFAULT-Einschränkung beim Erstellen einer Tabelle

Beispiel

CREATE TABLE Employees (
    EmployeeID INT PRIMARY KEY,
    FirstName VARCHAR(50),
    LastName VARCHAR(50),
    HireDate DATE DEFAULT GETDATE(), -- Der Standardwert ist das aktuelle Datum
    Salary DECIMAL(10, 2) DEFAULT 0.00 -- Standardwert ist 0.00
);

2. Fügen Sie einer vorhandenen Tabelle eine DEFAULT-Einschränkung hinzu

ALTER TABLE Employees
ALTER COLUMN Salary SET DEFAULT 0.00;

3. Standardwerte beim Einfügen von Daten verwenden

INSERT INTO Employees (EmployeeID, FirstName, LastName)
VALUES (1, 'John', 'Doe');

Wenn keine Werte für HireDate und Salary angegeben werden, verwendet die Datenbank automatisch die Standardwerte.


DEFAULT-Einschränkung löschen

Das Vorgehen zum Löschen unterscheidet sich zwischen verschiedenen Datenbanken:

1、SQL Server

ALTER TABLE 表名
DROP CONSTRAINT 约束名;

2、MySQL

ALTER TABLE 表名
ALTER COLUMN 列名 DROP DEFAULT;

3、Oracle

ALTER TABLE 表名
MODIFY 列名 DEFAULT NULL;

4、MS Access

ALTER TABLE 表名
ALTER COLUMN 列名 DROP DEFAULT;

Hinweise

  • DEFAULTDer Wert der Einschränkung muss mit dem Datentyp der Spalte kompatibel sein.

  • Wenn die Spalte definiert ist alsNOT NULLund kein Standardwert angegeben wird, müssen Sie beim Einfügen von Daten explizit einen Wert angeben, andernfalls wird ein Fehler gemeldet.

  • Der Standardwert kann eine Konstante, ein Ausdruck oder eine Funktion sein (wie etwaGETDATE())。

Geeignete Szenarien

  • Legen Sie das aktuelle Datum als Standardwert für eine Datumsspalte fest.

  • Legen Sie einen Anfangswert für eine numerische Spalte fest (z. B.0)。

  • Legen Sie einen Standardstatus für eine Statusspalte fest (z. B.'Active')。

Andere Erweiterungen