Documentation du Dr FRAPPE

Ce wiki regroupe les résultats de mes expériences en informatique accumulés au cours de mes recherches sur le net.

Dans la mesure du possible, j'ai cité mes sources ; il en manque certainement… :-)

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
portail:internet:sql:start [2021/10/09 19:03] – [Problèmes et solutions] adminportail:internet:sql:start [2022/08/13 21:58] (Version actuelle) – modification externe 127.0.0.1
Ligne 7: Ligne 7:
 ===== Logiciels ===== ===== Logiciels =====
  
-  ~~ol:hierarchical~~+<WRAP list-deep>
   - **[[logiciel:sql:sqlite:start]]**   - **[[logiciel:sql:sqlite:start]]**
-  * [[logiciel:sql:postgresql:start]] +  - **[[logiciel:sql:postgresql:start|]]** 
-    * [[logiciel:sql:postgresql:rpi:start]] +    - **[[logiciel:sql:postgresql:rpi:start|]]** 
-  **MySQL** : voir la page [[logiciel:internet:sql:mysql]] +  **MySQL** : 
-  * **Oracle** : voir la page [[logiciel:internet:sql:sqloracle]] +    - **voir la page [[logiciel:internet:sql:mysql]]** 
-  * [[logiciel:sql:mariadb:start]] +    **[[logiciel:sql:mariadb:start]]** 
-  * [[logiciel:internet:phpmyadmin:start]] +  - **Oracle** : voir la page [[logiciel:internet:sql:sqloracle]] 
-  * [[logiciel:internet:adminer:start]]+  - **Gestion des bases SQL** : 
 +    - **[[logiciel:internet:phpmyadmin:start]]** 
 +    - **[[logiciel:internet:adminer:start]]** 
 +</WRAP>
  
  
 ===== Tutoriels ===== ===== Tutoriels =====
  
-  * **[[tutoriel:sql:recup:start]]**+<WRAP list-deep> 
 +  - **[[tutoriel:sql:recup:start]]** 
 +  - **[[tutoriel:sql:langage:start]]** 
 +</WRAP>
  
 ==== Problèmes et solutions ==== ==== Problèmes et solutions ====
  
 ??? Erreur SQL DB_ERROR_1071 Specified key was too long; max key length is 767 bytes ??? Erreur SQL DB_ERROR_1071 Specified key was too long; max key length is 767 bytes
-!!! +!!! Les préfixes peuvent faire jusqu'à 1000 octets (767 octets pour les tables InnoDB). 
 + 
 +Or, dans les instructions CREATE TABLE, la longueur du préfixe est un nombre de caractères ..."
 +Un caractère utf8 peut utiliser jusqu'à 3 octets. 
 +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'utilisent que la première partie des valeurs de colonne, en utilisant la syntaxe `col_name`(length) pour spécifier une longueur de préfixe d'index. 
 +... 
 +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'utilisez dans l'index que ses 20 premiers caractères au lieu de 255<code sql > 
 +... 
 +`ConfigValue` varchar(255) ..., 
 +... 
 +UNIQUE KEY `key_ConfigValue` (`ConfigValue`(20),...), 
 +...</code> 
 +!!! 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   - 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='$ '>...@...:~ $ use my_database_name;   - Sélectionnez votre base de données et lance ces commandes :<cli prompt='$ '>...@...:~ $ use my_database_name;
Ligne 41: Ligne 66:
     - Cliquez sur le bouton Unique     - Cliquez sur le bouton Unique
     - Terminé. Maintenant, il ne devrait y avoir aucune erreur.     - Terminé. Maintenant, il ne devrait y avoir aucune erreur.
 +</WRAP>
  
-Le problème de ce correctif est si vous exportez la base de données vers un autre serveur (par exemple de localhost vers un hôte réel) et que vous ne pouvez pas utiliser la ligne de commande MySQL sur ce serveur. Vous ne pouvez pas le faire fonctionner là-bas. 
-!!! Vous pouvez aussi mettre un index UNIQUE de longueur plus petite (par exemple 20au lieu de 255) 
 ===== Voir aussi ===== ===== Voir aussi =====