在尝试创建一个新表时,MySQL 给了我一个我无法解释的错误。
CREATE TABLE Products (
id INT NOT NULL,
PRIMARY KEY(id)
);
CREATE TABLE WarehouseMovements (
time DATETIME NOT NULL,
product1 INT NOT NULL,
product2 INT NOT NULL,
FOREIGN KEY WarehouseMovements(product1) REFERENCES Products(id),
FOREIGN KEY WarehouseMovements(product2) REFERENCES Products(id)
);
这个查询失败了,错误信息是ERROR 1061 (42000): Duplicate key name 'WarehouseMovements'
。如果我移除外键约束,查询就能成功,但我希望确保product1和product2实际上指向某个地方。
默认的存储引擎是InnoDB。
这个查询有什么问题?