尝试区分FK名称:
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 IX_WarehouseMovements_product1(product1) REFERENCES Products(id),
FOREIGN KEY IX_WarehouseMovements_product2(product2) REFERENCES Products(id)
);
更新
那是索引或FK名称,而不是表名称。请参阅create-table-foreign- keys文档:
[CONSTRAINT [symbol]] FOREIGN KEY
[index_name] (index_col_name, ...)
REFERENCES tbl_name (index_col_name,...)
哪说
index_name表示外键ID。如果给定,则如果显式定义外键的索引,则将忽略此操作。否则,如果MysqL为外键创建索引,它将使用index_name作为索引名称。