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 列は、exems テーブルの 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 中国語 Web サイトの他の関連記事を参照してください。