Mysql error 1064 ошибка в внешнем ключе — что это?
Пытаюсь синхронизировать модель из mysql workbanch на локальный сервер. Выдает ошибку -
Executing SQL script in server
ERROR: Error 1064: 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 'VISIBLE,
CONSTRAINT `fk_comment_user`
FOREIGN KEY (`iduser`)
REFERENCE' at line 6
SQL Code:
CREATE TABLE IF NOT EXISTS `cpa`.`comment` (
`idcomment` INT(11) NOT NULL AUTO_INCREMENT,
`commentcol` VARCHAR(45) NOT NULL,
`iduser` INT(11) NOT NULL,
PRIMARY KEY (`idcomment`),
INDEX `fk_comment_user_idx` (`iduser` ASC) VISIBLE,
CONSTRAINT `fk_comment_user`
FOREIGN KEY (`iduser`)
REFERENCES `cpa`.`user` (`iduser`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8
SQL script execution finished: statements: 4 succeeded, 1 failed
Fetching back view definitions in final form.
Nothing to fetch
Что это? Что не так с внешним ключом?
Спасиба тем кто ответит
Дополнительно:
а версия mysql какая? она точно поддерживает VISIBLE?
Не знаю где смотреть . Я только поставил OpenServer. Лучше я в WorkBench что то подправлю. В каких настройках смотреть? что искать?
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос
Ошибка MySQL 1064 обычно указывает на синтаксическую ошибку в вашем SQL запросе. В случае с внешним ключом, это может быть вызвано неправильным описанием самого внешнего ключа или ссылочного столбца.
Внешний ключ - это ограничение, которое связывает значения одного столбца (или группы столбцов) с значениями другого столбца (или группы столбцов) в другой таблице. Внешний ключ обеспечивает целостность данных, обеспечивая ссылочную целостность между связанными таблицами.
Если вы получаете ошибку 1064 при создании внешнего ключа, важно убедиться, что вы правильно указали столбцы, которые должны быть связаны, а также правильно указали связанные столбцы в другой таблице.
Пример правильного использования внешнего ключа в MySQL:
CREATE TABLE orders ( order_id INT PRIMARY KEY, product_id INT, quantity INT, FOREIGN KEY (product_id) REFERENCES products(product_id) );
В данном примере у нас есть таблица "orders" с внешним ключом "product_id", который ссылается на столбец "product_id" в таблице "products".
Если вы все еще получаете ошибку 1064, убедитесь, что вы не используете недопустимые символы или ключевые слова в вашем запросе. Проверьте синтаксис вашего SQL запроса и удостоверьтесь, что он правильно отображает структуру вашей базы данных.
Надеюсь, эта информация поможет вам разобраться с ошибкой 1064 в вашем SQL запросе, связанном с внешним ключом. Если у вас возникнут дополнительные вопросы, не стесняйтесь задавать их.