MySql Error 1064-создан с помощью MySQL WorkBench


Я создал это с помощью MySQL WorkBench

CREATE  TABLE IF NOT EXISTS `bakasura_new`.`cities` (
  `id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT ,
  `name` VARCHAR(255) NOT NULL COMMENT 'City Name' ,
  `short_name` VARCHAR(255) NOT NULL COMMENT 'Short Name' ,
  `country_id` INT(11) UNSIGNED NOT NULL ,
  PRIMARY KEY (`id`) ,
  INDEX `fk_cities_countries` (`country_id` ASC) ,
ENGINE = InnoDB;

Я получаю эту ошибку

MySQL сказал: документация

#1064-у вас есть ошибка в синтаксисе SQL; проверьте руководство, что

Соответствует вашему серверу MySQL версия для правильного синтаксиса, чтобы использовать около '= InnoDB ' в строке 8

2 2

2 ответа:

У вас здесь висит запятая:

INDEX `fk_cities_countries` (`country_id` ASC) ,

И у вас также есть отсутствующая скобка в конце:

CREATE  TABLE IF NOT EXISTS `bakasura_new`.`cities` (
  `id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT ,
  `name` VARCHAR(255) NOT NULL COMMENT 'City Name' ,
  `short_name` VARCHAR(255) NOT NULL COMMENT 'Short Name' ,
  `country_id` INT(11) UNSIGNED NOT NULL ,
  PRIMARY KEY (`id`) ,
  INDEX `fk_cities_countries` (`country_id` ASC)
) ENGINE = InnoDB;

В конце последнего ) {[4] отсутствует)]}

INDEX `fk_cities_countries` (`country_id` ASC) )