почему в моем скрипте ошибка 1064, когда я его выполнил - PullRequest
0 голосов
/ 21 декабря 2018

MySQL

Код ошибки: 1064. У вас ошибка в синтаксисе SQL;проверьте руководство, соответствующее вашей версии сервера MariaDB, чтобы найти правильный синтаксис для использования рядом с ') ENGINE = InnoDB' в строке 7

CREATE TABLE IF NOT EXISTS `game_review`.`users` (
  `user_id` INT NOT NULL AUTO_INCREMENT,
  `email_address` VARCHAR(45) NOT NULL,
  `password` VARCHAR(6) NOT NULL,
  `username` VARCHAR(20) NOT NULL,
  PRIMARY KEY (`user_id`),
  UNIQUE INDEX `user_id_UNIQUE` (`user_id` ASC) VISIBLE)
ENGINE = InnoDB;

Я ожидал, что это будет выполнено правильно, так как я переадресовал его с помощьюмоя диаграмма ER, которую я создал, но она выдает мне сообщение об ошибке выше.

1 Ответ

0 голосов
/ 21 декабря 2018

MariaDB не поддерживает невидимые индексы, поэтому ключевые слова VISIBLE и INVISIBLE не используются.Индексы уже видны оптимизатору по умолчанию, поэтому вы можете просто использовать:

UNIQUE INDEX user_id_UNIQUE (user_id)

Но столбец первичного ключа уже должен быть уникальным, так что вы, вероятно, просто не можете даже включать индекс уникальности.

Примечание: MySQL 8+ поддерживает невидимые индексы, см. Здесь , но ваша версия MariaDB, похоже, не поддерживает их.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...