Drupal 8 - PHPMyAdmin - corriger l'erreur « Syntax error near '`value`»

Erreur Php My Admin

Parfois on a pas le choix et l'on est obligé de passer par PHPMyAdmin pour récupérer un export de base de données.

Avec un dump de Drupal 8, lors de l'import, on peut tomber sur l'erreur suivante :

Requête SQL :

CREATE TABLE IF NOT EXISTS `key_value` ( `collection` varchar(128) CHARACTER SET ascii NOT NULL DEFAULT '' COMMENT 'A named collection of key and value pairs.' `value` longblob NOT NULL COMMENT 'The value.', PRIMARY KEY (`collection`,`name`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Generic key-value storage table. See the state system for'

MySQL a répondu: Documentation

#1064 - Erreur de syntaxe près de '`value` longblob NOT NULL COMMENT 'The value.',
  PRIMARY KEY (`collection`,`nam' à la ligne 3

C'est visiblement du à un bug dans une certaine version de PHPMyAdmin.

Il est possible de corriger cette erreur en modifiant manuellement le dump en deux étapes.

La première, remplacez le bloc suivant :

CREATE TABLE IF NOT EXISTS `key_value` (
  `collection` varchar(128) CHARACTER SET ascii NOT NULL DEFAULT '' COMMENT 'A named collection of key and value pairs.'
`value` longblob NOT NULL COMMENT 'The value.',
  PRIMARY KEY (`collection`,`name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Generic key-value storage table. See the state system for';

par

CREATE TABLE IF NOT EXISTS `key_value` (
  `collection` varchar(128) CHARACTER SET ascii NOT NULL DEFAULT '' COMMENT 'A named collection of key and value pairs.',
  `name` varchar(128) CHARACTER SET ascii NOT NULL DEFAULT '' COMMENT 'The key of the key-value pair. As key is a SQL reserved keyword, name was chosen instead.',
  `value` longblob NOT NULL COMMENT 'The value.',
  PRIMARY KEY (`collection`,`name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Generic key-value storage table. See the state system for';

Seconde étape, supprimez le bloc suivant :

ALTER TABLE `key_value`
  ADD `name` varchar(128) CHARACTER SET ascii NOT NULL DEFAULT '' COMMENT 'The key of the key-value pair. As KEY is a SQL reserved keyword, name was chosen instead.';

Une fois cela fait, vous pourrez alors importer le dump sans soucis.

Plus d'informations sur ce problème en anglais : https://www.drupal.org/node/2496331

Commentaires

Ajouter un commentaire

Ne sera pas publié
CAPTCHA
Désolé, pour ça, mais c'est le seul moyen pour éviter le spam...