MySQL: A criação de tabela com duas chaves estrangeiras falha com o erro “Duplicate key name”
Ao tentar criar uma nova tabela, o MySQL está me dando um erro que não posso explicar.
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)
);
Isso falha comERROR 1061 (42000): Duplicate key name 'WarehouseMovements'
. Se eu remover as restrições de chave estrangeira, isso será bem-sucedido, mas quero garantir que product1 e product2 estejam realmente apontando para algum lugar.
O mecanismo padrão é o InnoDB.
O que há de errado com a consulta?