私は6つのテーブルを作成しています。最初の 3 つのテーブルを作成すると、すべてがうまく機能します。しかし、別のテーブルを作成するときに以前に使用した外部キーを使用する必要がある場合、システムはエラーを表示します。
最初の 3 つのテーブルは次のとおりです。
CREATE TABLE Employee (
EmployeeID INTEGER PRIMARY KEY NOT NULL,
Name TEXT NOT NULL,
Position TEXT NOT NULL,
Salary REAL NOT NULL,
Remarks TEXT
);
CREATE TABLE Planet (
PlanetID INTEGER PRIMARY KEY NOT NULL,
Name TEXT NOT NULL,
Coordinates REAL NOT NULL
);
CREATE TABLE Has_Clearance (
Employee INTEGER NOT NULL
CONSTRAINT fk_Employee_EmployeeID REFERENCES Employee(EmployeeID),
Planet INTEGER NOT NULL
CONSTRAINT fk_Planet_PlanetID REFERENCES Planet(PlanetID),
Level INTEGER NOT NULL,
PRIMARY KEY(Employee, Planet)
);
次に、4 番目のテーブルを作成します。
CREATE TABLE Shipment (
ShipmentID INTEGER PRIMARY KEY NOT NULL,
Date TEXT,
Manager INTEGER NOT NULL
CONSTRAINT fk_Employee_EmployeeID REFERENCES Employee(EmployeeID),
Planet INTEGER NOT NULL
CONSTRAINT fk_Planet_PlanetID REFERENCES Planet(PlanetID)
);
そして、次のエラーが表示されます。「データベースには、'fk_Employee_EmployeeID' という名前のオブジェクトが既に存在します。制約を作成できませんでした。」
この 4 番目の表で FK を作成する方法を教えてください。