首頁 >資料庫 >mysql教程 >如何在SQL Server中建立外鍵約束?

如何在SQL Server中建立外鍵約束?

Mary-Kate Olsen
Mary-Kate Olsen原創
2025-01-01 12:40:111016瀏覽

How to Establish Foreign Key Constraints in SQL Server?

在 SQL Server 中建立外鍵約束

維護資料完整性在任何資料庫系統中都至關重要。 SQL Server 提供了使用外鍵約束強製表之間關係的能力。但是,聲明外鍵與 PostgreSQL 等其他資料庫管理系統不同。

語法和注意事項

以下是如何在SQL Server 中建立外鍵:

ALTER TABLE <child_table>
ADD CONSTRAINT <constraint_name>
FOREIGN KEY (<child_column>)
REFERENCES <parent_table>(<parent_column>)

確保子表中引用的列數與父表中引用的列數相符桌子。否則,您將遇到類似以下內容的錯誤:

Msg 8139, Level 16, State 0, Line 9
Number of referencing columns in foreign key differs from number of referenced columns, table 'question_bank'.

故障排除:語法不正確

提供的用於建立Question_bank 表的SQL 程式碼有錯誤。 Question_bank 表中的 Question_exam_id 欄位應引用 exam 表中的 exam_id 欄位。

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)
);

備用語法:稍後加上約束

您也可以建立外鍵使用ALTER TABLE 建立子表後的限制語句:

alter table question_bank
add constraint question_exam_id_fk foreign key (question_exam_id) references exams(exam_id)

此方法可讓您與表格建立分開定義約束,從而提供更大的靈活性和對資料庫架構的控制。

以上是如何在SQL Server中建立外鍵約束?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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