Beim Versuch, eine neue Tabelle zu erstellen, gibt MySQL mir einen Fehler, den ich nicht erklären kann.MySQL: Das Erstellen einer Tabelle mit zwei Fremdschlüsseln schlägt mit dem Fehler "Doppelter Schlüsselname" fehl
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)
);
Dies schlägt mit ERROR 1061 (42000): Duplicate key name 'WarehouseMovements'
fehl. Wenn ich die Fremdschlüsseleinschränkungen entferne, ist dies erfolgreich, aber ich möchte sicherstellen, dass product1 und product2 tatsächlich auf irgendwoher verweisen.
Standard-Engine ist InnoDB.
Was ist falsch an der Abfrage?
Ich hatte den Eindruck, ich sollte den Namen der Tabelle vor den Klammern setzen ... Huh. Vielen Dank! Das hat funktioniert. –
@GiorgosBitzes Ich habe eine Referenz hinzugefügt, wo die Syntax beschrieben wird. Es gibt ein paar Möglichkeiten, dies zu tun. Sie sehen auch FK_ Name Präfixe. – criticalfix