Dieser Artikel vermittelt Ihnen relevantes Wissen über SQL-Server, der hauptsächlich SQL Server-Primärschlüsseleinschränkungen (PRIMÄRSCHLÜSSEL) vorstellt. Der Primärschlüssel ist eine Spalte oder eine Gruppe von Spalten, die jede Zeile in der Tabelle eindeutig identifiziert Werfen wir einen Blick auf die Details unten. Ich hoffe, es wird für alle hilfreich sein.
Empfohlene Studie: „SQL-Tutorial“
Der Primärschlüssel ist eine Spalte oder eine Gruppe von Spalten, die jede Zeile in der Tabelle eindeutig identifiziert. Sie können Primärschlüsseleinschränkungen verwenden, um einen Primärschlüssel für eine Tabelle zu erstellen.
Wenn der Primärschlüssel nur eine Spalte enthält, können Sie die PRIMARY KEY
-Einschränkung als Spalteneinschränkung verwenden: PRIMARY KEY
约束作为列约束:
CREATE TABLE table_name ( pk_column data_type PRIMARY KEY, ... );
如果主键有两列或多列,则必须将主键约束用作表约束:
CREATE TABLE table_name ( pk_column_1 data_type, pk_column_2 data type, ... PRIMARY KEY (pk_column_1, pk_column_2) );
每个表只能包含一个主键,一个主键可以包含多个列,即多个列的组合不能重复。参与主键的所有列必须定义为NOT NULL
。如果未为所有主键列指定NOT NULL
约束,SQL Server会自动为这些列设置非空约束。
以下示例创建了一个具有主键的表,主键由一列组成:
CREATE TABLE dbo.activities ( activity_id INT PRIMARY KEY IDENTITY,--主键 activity_name VARCHAR (255) NOT NULL, activity_date DATE NOT NULL );
在表dbo.activities
中,activity_id
列是主键列,意味着这一列的值不能重复
IDENTITY
属性用于activity_id
列自动生成唯一的整数值。
下面创建一个由两列组成外键的新表:
CREATE TABLE dbo.participants( activity_id int, customer_id int, PRIMARY KEY(activity_id, customer_id) );
在本例中,activity_id
或customer_id
列中的值可以重复,但两列中的每个值组合都必须是唯一的。
通常,表总是在创建时定义主键。然而,有时,现有表可能没有定义主键。在这种情况下,可以使用ALTER TABLE
语句向表中添加主键。比如示例:
先创建一个没有主键列的表:
CREATE TABLE dbo.events( event_id INT NOT NULL, event_name VARCHAR(255), start_date DATE NOT NULL, duration DEC(5,2) );
然后使event_id
列成为主键:
ALTER TABLE sales.events ADD PRIMARY KEY(event_id);
rrreee注意,如果
Wenn der Primärschlüssel zwei oder mehr Spalten hat, müssen Sie die Primäre verwenden Schlüsseleinschränkung als Tabelleneinschränkung:sales.events
表已经有数据,在将event_id
列提升为主键之前,必须确保event_id
rrreee
Jede Tabelle kann nur einen Primärschlüssel enthalten, und ein Primärschlüssel kann mehrere Spalten enthalten, dh die Kombination mehrerer Spalten kann nicht wiederholt werden. Alle am Primärschlüssel beteiligten Spalten müssen als NOT NULL
definiert sein. Wenn NOT NULL
-Einschränkungen nicht für alle Primärschlüsselspalten angegeben sind, legt SQL Server automatisch Nicht-Null-Einschränkungen für diese Spalten fest. SQL Server PRIMARY KEY-Einschränkungsbeispiel
dbo.activities
, activity_id ist eine Primärschlüsselspalte, was bedeutet, dass der Wert dieser Spalte nicht wiederholt werden kann. Das Attribut IDENTITY
wird verwendet, um automatisch einen eindeutigen ganzzahligen Wert für den zu generieren Aktivitäts-ID
-Spalte. 🎜🎜Im Folgenden wird eine neue Tabelle mit zwei Spalten erstellt, die den Fremdschlüssel bilden: 🎜rrreee🎜In diesem Fall die Spalte activity_id
oder customer_id
Werte können wiederholt werden, aber jede Wertekombination in den beiden Spalten muss eindeutig sein. 🎜🎜Normalerweise wird der Primärschlüssel immer beim Erstellen einer Tabelle definiert. Manchmal ist jedoch für eine vorhandene Tabelle kein Primärschlüssel definiert. In diesem Fall können Sie die Anweisung ALTER TABLE
verwenden, um der Tabelle einen Primärschlüssel hinzuzufügen. Zum Beispiel: 🎜🎜Erstellen Sie zunächst eine Tabelle ohne eine Primärschlüsselspalte: 🎜rrreee🎜 Machen Sie dann die Spalte event_id
zum Primärschlüssel: 🎜rrreee🎜Beachten Sie, dass ifDie sales.events
-Tabelle enthält bereits Daten. Bevor Sie die Spalteevent_id
zum Primärschlüssel hochstufen, müssen Sie sicherstellen, dass die Werte inevent_id
sind einzigartig. 🎜🎜🎜Empfohlenes Lernen: „🎜SQL-Tutorial🎜“🎜
Das obige ist der detaillierte Inhalt vonVerstehen Sie kurz die Primärschlüsseleinschränkungen von SQL Server (PRIMARY KEY).. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!