Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
portail:internet:sql:start [2021/10/09 18:36] – [Tutoriels] admin | portail:internet:sql:start [2022/08/13 21:58] (Version actuelle) – modification externe 127.0.0.1 | ||
---|---|---|---|
Ligne 7: | Ligne 7: | ||
===== Logiciels ===== | ===== Logiciels ===== | ||
- | ~~ol: | + | <WRAP list-deep> |
- **[[logiciel: | - **[[logiciel: | ||
- | * [[logiciel: | + | |
- | * [[logiciel: | + | |
- | | + | |
- | * **Oracle** : voir la page [[logiciel: | + | - **voir la page [[logiciel: |
- | * [[logiciel:sql: | + | |
- | * [[logiciel: | + | - **Oracle** : voir la page [[logiciel: |
- | * [[logiciel: | + | |
+ | - **[[logiciel: | ||
+ | - **[[logiciel: | ||
+ | </ | ||
===== Tutoriels ===== | ===== Tutoriels ===== | ||
- | * **[[tutoriel: | + | <WRAP list-deep> |
+ | - **[[tutoriel: | ||
+ | - **[[tutoriel: | ||
+ | </ | ||
==== Problèmes et solutions ==== | ==== Problèmes et solutions ==== | ||
+ | |||
+ | ??? Erreur SQL DB_ERROR_1071 Specified key was too long; max key length is 767 bytes | ||
+ | !!! Les préfixes peuvent faire jusqu' | ||
+ | |||
+ | Or, dans les instructions CREATE TABLE, la longueur du préfixe est un nombre de caractères ...". | ||
+ | Un caractère utf8 peut utiliser jusqu' | ||
+ | Vous ne pouvez donc pas indexer les colonnes ou les préfixes de colonnes de plus de 255 caractères utf8. | ||
+ | |||
+ | "Pour les colonnes CHAR, VARCHAR, BINARY et VARBINARY, des index peuvent être créés qui n' | ||
+ | ... | ||
+ | Pour un index UNIQUE, visez une longueur maximum de 191. | ||
+ | |||
+ | Mettez donc une longueur plus petite pour chaque clé pour ne pas dépasser la limite totale. | ||
+ | |||
+ | Par exemple, si la clé ConfigValue est définie sur 255, n' | ||
+ | ... | ||
+ | `ConfigValue` varchar(255) ..., | ||
+ | ... | ||
+ | UNIQUE KEY `key_ConfigValue` (`ConfigValue`(20), | ||
+ | ...</ | ||
+ | !!! Autre méthode, en ligne de commande (suppose un accès en mode terminal) | ||
+ | <WRAP list-deep> | ||
+ | - 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 :<cli prompt=' | ||
+ | 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' | ||
+ | - Changez ROW_FORMAT en DYNAMIC et enregistrez les modifications | ||
+ | - Aller à l' | ||
+ | - Cliquez sur le bouton Unique | ||
+ | - Terminé. Maintenant, il ne devrait y avoir aucune erreur. | ||
+ | </ | ||
===== Voir aussi ===== | ===== Voir aussi ===== |