データベースの 1 つのスキーマを構築しています。私は次の2つのテーブルを持っています...
CREATE TABLE User(
userID INT AUTO_INCREMENT,
...
PRIMARY KEY(userID)
);
CREATE TABLE Tool(
toolID INT AUTO_INCREMENT,
...
PRIMARY KEY(toolID)
)
外部キー制約を使用して、両方のテーブルの 2 つの主キーを持つ hasTool というテーブルを作成したいと考えています。ただし、それに加えて、これらのフィールドの両方を、新しいテーブル hasTool の複合キーにしたいと考えています。次のことを試しましたが、期待どおりの動作が得られないようです。
CREATE TABLE gcHasCoordinates (
userID INT NOT NULL,
toolID INT NOT NULL,
PRIMARY KEY (userID , toolID ),
CONSTRAINT foreign_key_to_User FOREIGN KEY (userID) REFERENCES Coordinate(coordinateID) ,
CONSTRAINT foreign_key_to_Tool FOREIGN KEY (toolID ) REFERENCES Tool(toolID)
);
テーブルが userID または toolID の複数のインスタンスを許可することを許可しますが、両方を許可することはできず、テーブル User と Tool の両方に既存の値を使用したいと考えています。
前もって感謝します!