Heim >Datenbank >MySQL-Tutorial >Wie lege ich Fremdschlüsseleinschränkungen in SQL Server fest?
Festlegen von Fremdschlüsseleinschränkungen in SQL Server
Die Aufrechterhaltung der Datenintegrität ist in jedem Datenbanksystem von entscheidender Bedeutung. SQL Server bietet die Möglichkeit, Beziehungen zwischen Tabellen mithilfe von Fremdschlüsseleinschränkungen zu erzwingen. Die Deklaration von Fremdschlüsseln unterscheidet sich jedoch von anderen Datenbankverwaltungssystemen wie PostgreSQL.
Syntax und Überlegungen
So erstellen Sie einen Fremdschlüssel in SQL Server:
ALTER TABLE <child_table> ADD CONSTRAINT <constraint_name> FOREIGN KEY (<child_column>) REFERENCES <parent_table>(<parent_column>)
Stellen Sie sicher, dass die Anzahl der referenzierenden Spalten in der untergeordneten Tabelle mit der Anzahl der referenzierten Spalten in der übergeordneten Tabelle übereinstimmt. Andernfalls wird ein Fehler ähnlich dem folgenden angezeigt:
Msg 8139, Level 16, State 0, Line 9 Number of referencing columns in foreign key differs from number of referenced columns, table 'question_bank'.
Fehlerbehebung: Falsche Syntax
Der bereitgestellte SQL-Code zum Erstellen der Tabelle „question_bank“ weist einen Fehler auf. Die Spalte „question_exam_id“ in der Tabelle „question_bank“ sollte auf die Spalte „examen_id“ in der Tabelle „examens“ verweisen.
create table question_bank ( question_id uniqueidentifier primary key, question_exam_id uniqueidentifier not null, <!-- This should be a foreign key --> question_text varchar(1024) not null, question_point_value decimal, constraint question_exam_id foreign key references exams(exam_id) );
Alternative Syntax: Einschränkungen später hinzufügen
Sie können auch einen Fremdschlüssel erstellen Einschränkungen nach dem Erstellen der untergeordneten Tabelle mit der ALTER TABLE-Anweisung:
alter table question_bank add constraint question_exam_id_fk foreign key (question_exam_id) references exams(exam_id)
Diese Methode ermöglicht Sie können Einschränkungen getrennt von der Tabellenerstellung definieren, was eine größere Flexibilität und Kontrolle über das Datenbankschema bietet.
Das obige ist der detaillierte Inhalt vonWie lege ich Fremdschlüsseleinschränkungen in SQL Server fest?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!