Problème d'installation
J'ai eu ce message dans les logs lorsqu'ai voulu installer Formidable sur un site perso.
Erreur 1071 de mysql: Specified key was too long; max key length is 1000 bytes
in (...)/ecrire/base/create.php L83 [sql_create(),creer_ou_upgrader_table(),alterer_base(),creer_base(),admin_repair_tables(),base_repair_dist(),inc_admin_dist(),exec_base_repair_dist()]
CREATE TABLE IF NOT EXISTS `blog`.spip_formulaires_reponses_champs (
id_formulaires_reponses_champ bigint(21) NOT NULL auto_increment,
id_formulaires_reponse bigint(21) NOT NULL default 0,
nom varchar(255) NOT NULL default '',
valeur text NOT NULL DEFAULT '',
maj TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (id_formulaires_reponses_champ),
KEY id_formulaires_reponse (id_formulaires_reponse),
KEY nom (nom),
UNIQUE reponse (id_formulaires_reponse,nom)) ENGINE=MyISAM
Il s'agit d'une base de donnée très vieille (2006 !), qui a subit pas mal de migration (notamment sur les charsets).
Une autre base de données sur le même serveur (mais plus récente : 2012) n'a pas eu ce problème.
La solution que j'ai eu est d'utiliser PHPmyadmin pour faire la requete, en supprimant ENGINE=MyISAM
(Et du coup il me l'a mis en InnoDB utf8mb4_general_ci
; vs InnoDB utf8_general_ci
sur l'autre serveur).
N'empêche j'aimerais bien comprendre.
Ps : cela me fait penser à une remarque de @marcimat ici spip/spip#4277 (closed)
sauf que là c'est l'inverse : c'est MyISAM qui pose pb, et pas InnoDb