[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: erreur avec mariadb



bernard.schoenacker@free.fr 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
--


Reply to: