私の人生では、MySQL がこのステートメントを好まない理由を見つけることができません。
CREATE TABLE IF NOT EXISTS personnel
(
id INTEGER AUTO_INCREMENT PRIMARY KEY,
firstname VARCHAR(30) NOT NULL,
lastname VARCHAR(30) NOT NULL,
role VARCHAR(50) NOT NULL,
line_manager INTEGER NULL,
FOREIGN KEY (role) REFERENCES roles(name)
ON DELETE CASCADE
ON UPDATE CASCADE,
FOREIGN KEY (line_manager) REFERENCES personnel(id)
ON DELETE CASCADE
ON UPDATE CASCADE
) ENGINE=InnoDB;
これを挿入した後の MySQL からの出力結果はERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'DELETE CASCADE
UPDATE CASCADE,
FOREIGN KEY (line_manager) REFERENCES personnel(id)
' at line 10
.
誰かが私が間違っていることを提案できますか?