Я получаю ОШИБКУ 1064 (42000), когда пытаюсь создать таблицу, содержащую 2 внешних ключа.Это говорит о том, что мой синтаксис неправильный, но я не могу найти ничего неправильного.Я использую MySQL версии 8.0
Я пробовал только с одним ограничением / без второго, и оно работает.Но с обоими из них я получаю сообщение об ошибке.
Это работает:
CREATE TABLE IF NOT EXISTS Comment (
id INT NOT NULL AUTO_INCREMENT,
content VARCHAR(15) NOT NULL,
date_posted DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
user_id INT NOT NULL,
post_id INT NOT NULL,
PRIMARY KEY (id),
CONSTRAINT `fk_User_Comment`
FOREIGN KEY (user_id)
REFERENCES User (id)
ON DELETE NO ACTION
ON UPDATE NO ACTION);
Это не:
CREATE TABLE IF NOT EXISTS Comment (
id INT NOT NULL AUTO_INCREMENT,
content VARCHAR(15) NOT NULL,
date_posted DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
user_id INT NOT NULL,
post_id INT NOT NULL,
PRIMARY KEY (id),
CONSTRAINT `fk_User_Comment`
FOREIGN KEY (user_id)
REFERENCES User (id)
ON DELETE NO ACTION
ON UPDATE NO ACTION),
CONSTRAINT `fk_Post_Comment`
FOREIGN KEY (post_id)
REFERENCES Post (id)
ON DELETE NO ACTION
ON UPDATE NO ACTION);