MySql Erreur 1064 - Créé en utilisant MySQL WorkBench
-
05-10-2019 - |
Question
J'ai créé cela en utilisant 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;
Je reçois cette erreur
MySQL dit: Documentation
# 1064 - Vous avez une erreur dans votre syntaxe SQL; consultez le manuel que
correspond à votre serveur MySQL version pour la bonne syntaxe à utiliser à côté de '= InnoDB' à la ligne 8
La solution
Vous avez ici une virgule ballants:
INDEX `fk_cities_countries` (`country_id` ASC) ,
Et vous avez aussi une parenthèse manquante à la fin:
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;
Autres conseils
Il y a un manque )
à la fin de la dernière )
INDEX `fk_cities_countries` (`country_id` ASC) )
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow