web-dev-qa-db-fra.com

erreur mysql 'TYPE = MyISAM'

La requête ci-dessous que j'exécute dans Ubuntu 12, version MySQL 5.1 et recevant l'erreur mentionnée:

CREATE TABLE Mantis_config_table (
    config_id VARCHAR(64) NOT NULL,
    project_id INTEGER NOT NULL DEFAULT 0,
    user_id INTEGER NOT NULL DEFAULT 0,
    access_reqd INTEGER DEFAULT 0,
    type INTEGER DEFAULT 90,
    value LONGTEXT NOT NULL,
    PRIMARY KEY (config_id, project_id, user_id)
) TYPE=MyISAM;

Vous avez une erreur dans votre syntaxe SQL; Consultez le manuel correspondant à la version de votre serveur MySQL pour connaître la syntaxe à utiliser près de 'TYPE = MyISAM' à la ligne 9.

Quelqu'un peut-il suggérer ce qui ne va pas?

45
Aditya P Bhatt

Remplacer

TYPE=MyISAM

avec

ENGINE=MyISAM

Le problème était "TYPE = MyISAM" qui devrait être "ENGINE = MyISAM" selon les mises à jour de la version de MySQL - une simple recherche/remplacement a corrigé le problème.

85
Aditya P Bhatt

N'utilisez plus le mot clé TYPE. Utilisez ENGINE à la place.

Le mot clé TYPE est amorti (depuis la version 5.0) et n'est pas supporté dans MySQL5.5

CREATE TABLE Mantis_config_table 
( 
   ...   
) 
ENGINE = MyISAM;
^^^^^^--------------------- HERE
27
juergen d

Dans les nouvelles versions de MySQL, il est:

ENGINE=MyISAM

ici le tutoriel (MySQL)

13
René Höhle

Utilisez ENGINE au lieu de TYPE

ENGINE = MYISAM ;
6
Besnik