web-dev-qa-db-fra.com

L'utilisation de "TYPE = InnoDB" dans MySQL lève une exception

Lorsque j'essaie d'exécuter le SQL suivant dans MySQL, j'obtiens une erreur:

SQL:

        SQL = "CREATE TABLE Ranges (";
        SQL += "ID varchar(20) NOT NULL, ";
        SQL += "Descriptions longtext NULL, ";
        SQL += "Version_Number int NULL, ";
        SQL += "Row_Updated bigint NULL, ";
        SQL += "Last_Updated datetime NULL, ";
        SQL += "XML longtext NULL, ";
        SQL += "PRIMARY KEY (ID)";
        SQL += ") " + "TYPE = InnoDB";

Erreur:

Vous avez une erreur dans votre syntaxe SQL; consultez le manuel qui correspond à la version de votre serveur MySQL pour la bonne syntaxe à utiliser près de "TYPE = InnoDB"

Mais si je supprime "TYPE = InnoDB", la requête fonctionne correctement.

Auparavant, la requête fonctionnait correctement, c'est-à-dire dans MySQL 5.0. Mais quand je suis passé à MySQL 5.6, J'obtiens l'erreur ci-dessus.

Toutes suggestions/alternatives ... ??

23
Gokul Nath KP

Utilisation ENGINE = Innodb au lieu de TYPE = InnoDB. TYPE a été supprimé en 5.1.

45
Andrew

TYPE = InnoDB a été déconseillé dans MySQL 5.0 et a été supprimé dans My SQL 5.1 et versions ultérieures.

Vous devez maintenant utiliser ENGINE = InnoDB

4
nos