Ceci est une ancienne révision du document !
Table des matières
Bases SQL
Matériel
Logiciels
- PostGreSQLMySQL :
- voir la page mysql
Oracle : voir la page sqloracleGestion des bases SQL :Tutoriels
Problèmes et solutions
Pour un index UNIQUE, la longueur maximum est de 191 (clés sur 4 octets)
Mettez donc une longueur plus petite pour chaque clé pour ne pas dépasser la limite totale, avec la syntaxe suivante :
par exemple, si la clé ConfigValue est définie sur 255, n'utilisez dans l'index que ses 20 premiers caractères au lieu de 255
... `ConfigValue` VARCHAR(255) ..., ... UNIQUE KEY `key_ConfigValue` (`ConfigValue`(20),...), ...
Autre méthode, en ligne de commande (suppose un accès en mode terminal)
- Ouvrez un client MySQL (ou MariaDB) en ligne de commande. Entrez votre login et mot de passe
- Sélectionnez votre base de données et lance ces commandes :
...@...:~ $ use my_database_name; Database changed ...@...:~ $ set global innodb_large_prefix=on; Query OK, 0 rows affected (0.00 sec) ...@...:~ $ set global innodb_file_format=Barracuda; Query OK, 0 rows affected (0.02 sec)
- Accédez à votre base de données avec phpMyAdmin ou Adminer
- Sélectionnez la base de données
- Afficher la structure de la table
- Allez à l'onglet Opérations
- Changez ROW_FORMAT en DYNAMIC et enregistrez les modifications
- Aller à l'onglet structure de la table
- Cliquez sur le bouton Unique
- Terminé. Maintenant, il ne devrait y avoir aucune erreur.
Voir aussi