salut,
je ne suis pas sur que mon premier mail soit bien parti aussi désolé si
doublon
MyISAM n'existe plus dans mariadb ( ni dans mysql depuis la 5.5)
pour la clé 255 * 8 > 1000 bytes
essaie de changer l'INNODB large prefix (-> enable)
pour les puristes ne jamais faire une clé sur un VarChar
USE postfix;
CREATE TABLE `domaines` (
`id` int(11) NOT NULL,
`domaine` varchar(255) NOT NULL default '',
`etat` tinyint(1) NOT NULL default '1',
PRIMARY KEY (`domaine`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
Le 10/07/2017 à 15:17, Dominique Asselineau a écrit :
[email protected] wrote on Mon, Jul 10, 2017 at 10:55:26AM +0200
bonjour,
en donnant cette instruction j'ai droit à une erreur :
USE postfix;
CREATE TABLE `domaines` (
`domaine` varchar(255) NOT NULL default '',
`etat` tinyint(1) NOT NULL default '1',
PRIMARY KEY (`domaine`)
) ENGINE=MyISAM;
le code erreur :
ERROR 1071 (42000): Specified key was too long; max key length is 1000 bytes
remarque la même syntaxe passe avec MySQL comment la faire
passer avec Mariadb ?
C'est visiblement l'encodage utf8 qui pose problème. Si ça passe avec
MySQL c'est parce que l'encodage par défaut sur cet environnement est
sur 3 octets alors qu'avec Mariadb il pourrait bien être de 4 octets.
Pour résoudre le problème, s'il s'agit bien de noms de domaine, il est bien peu
probable qu'ils fassent 255 caractères de long
et qu'ils soient encodés en autre chose que de l'ASCII.
soit
`domaine` varchar(128) NOT NULL default '',
soit
`domaine` varchar(255) CHARSET ASCII NOT NULL default '',
Dominique
--
--
logogite *Roseline & Bruno Volpi**
**Chaillac**
**19450 Chamboulive*
F: 05 55 21 27 57
M: 06 78 07 40 27
web : http://www.brunovolpi.com/gites