在 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中文網其他相關文章!