MySql Ошибка 1064 - Создано с использованием MySQL WorkBench - PullRequest
2 голосов
/ 26 сентября 2010

Я создал это с помощью 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 ]

6 голосов
/ 26 сентября 2010

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

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;
1 голос
/ 26 сентября 2010

В конце последнего )

отсутствует )
INDEX `fk_cities_countries` (`country_id` ASC) )
...