Điều này có thể do bạn đã đặt tên cho ít nhất một ràng buộc có cùng số nhận dạng như một cột:
/* You already have a column named `restaurant` in this table,
but are naming the FK CONSTRAINT `restaurant` also... */
CONSTRAINT `restaurant`
FOREIGN KEY (`restaurant` )
REFERENCES `mydb`.`restaurants` (`id` )
ON DELETE NO ACTION
ON UPDATE NO ACTION)
Nên sử dụng một số nhận dạng khác cho ràng buộc như fk_restaurant
như trong:
CONSTRAINT `fk_restaurant`
FOREIGN KEY (`restaurant` )
REFERENCES `mydb`.`restaurants` (`id` )
ON DELETE NO ACTION
ON UPDATE NO ACTION)
Và điều tương tự trong food
bảng:
/* Name it fk_food */
CONSTRAINT `fk_food`
FOREIGN KEY (`food` )
REFERENCES `mydb`.`food` (`id` )
ON DELETE NO ACTION
ON UPDATE NO ACTION,
/* Name it fk_restaurant */
CONSTRAINT `fk_restaurant`
FOREIGN KEY (`restaurant` )
REFERENCES `mydb`.`restaurants` (`id` )
ON DELETE NO ACTION
ON UPDATE NO ACTION)
Đó là ba cái duy nhất tôi nhìn thấy, nhưng có thể có những cái khác mà tôi đã bỏ lỡ.