単純な結合テーブル(あなたのフレーバーが何であれ、連想テーブルなど)の作成に問題があります。
これらはテストテーブルであるため、それほど多くはありません。
最初のテーブルは
CREATE TABLE dbo.CareerField(
CareerFieldID int IDENTITY(1,1) NOT NULL,
CareerFieldName varchar(100) NOT NULL
)
2番目のテーブルは
CREATE TABLE dbo.Cluster(
ClusterID int IDENTITY(1,1) NOT NULL,
ClusterName varchar(100) NOT NULL
)
多対多の関係を作成するための3番目のテーブル(結合テーブル)は
CREATE TABLE dbo.CareerField_Cluster(
CareerFieldID int NOT NULL,
ClusterID int NOT NULL
)
次を使用して、この3番目のテーブルに外部キーを設定しようとしています。
ALTER TABLE dbo.CareerField_Cluster
ADD CONSTRAINT FK_CareerField_Cluster_CareerFieldID
FOREIGN KEY(CareerFieldID) REFERENCES dbo.CareerField(CareerFieldID)
ALTER TABLE dbo.CareerField_Cluster
ADD CONSTRAINT FK_CareerField_Cluster_ClusterID
FOREIGN KEY(ClusterID) REFERENCES dbo.Cluster(ClusterID)
しかし、私はエラーが発生し続けます
メッセージ1776、レベル16、状態0、行1参照テーブル'dbo.CareerField'には、外部キー'FK_CareerField_Cluster_CareerFieldID'の参照列リストと一致するプライマリキーまたは候補キーがありません。メッセージ1750、レベル16、状態0、行1制約を作成できませんでした。以前のエラーを参照してください。
両方のフィールドを主キーとして設定しようとしましたが、キーを作成するときに別のテーブルを選択できません。CareerFieldIDを選択してCareerFieldテーブルを参照し、次にClusterIDを選択してクラスターテーブルを参照することができません。
MySQLでこの問題は発生しておらず、SQLServerは初めてです。どんな助けでも大歓迎です。