2

私は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 を作成する方法を教えてください。

4

1 に答える 1