Précédent   Forum des professionnels en informatique > Bases de données > MySQL > Administration
Administration Forum d'entraide sur l'administration de MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 05/08/2006, 13h10   #1
Membre du Club
 
Avatar de a_me
 
Inscription : novembre 2004
Messages : 64
Détails du profil
Informations personnelles :
Âge : 31
Localisation : Maroc

Informations forums :
Inscription : novembre 2004
Messages : 64
Points : 40
Points : 40
Par défaut clé trop longue

salut,

j'avais sauvegardé une base de données qui etait sous mysql 4.0.1, et j'ia installé mysql version 4.1.21 (et avant elle la 5.0.22), et lorsque je veux executer le fichier sql contenant les requetes de la base, cette erreur se produit:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 
requête SQL:
 
CREATE TABLE IF NOT EXISTS `mos_core_acl_aro` (
`aro_id` int( 11 ) NOT NULL AUTO_INCREMENT ,
`section_value` varchar( 240 ) NOT NULL DEFAULT '0',
`value` varchar( 240 ) NOT NULL DEFAULT '',
`order_value` int( 11 ) NOT NULL DEFAULT '0',
`name` varchar( 255 ) NOT NULL DEFAULT '',
`hidden` int( 11 ) NOT NULL DEFAULT '0',
PRIMARY KEY ( `aro_id` ) ,
UNIQUE KEY `section_value_value_aro` ( `section_value` , `value` ) ,
UNIQUE KEY `mos_gacl_section_value_value_aro` ( `section_value` , `value` ) ,
KEY `hidden_aro` ( `hidden` ) ,
KEY `mos_gacl_hidden_aro` ( `hidden` )
) TYPE = MYISAM AUTO_INCREMENT =11;
 
MySQL a répondu:Documentation
#1071 - Specified key was too long; max key length is 1000 bytes
remarke ke c'est une base de cms mambo

je ne comprend pa de kelle clé il s'agit, ni comment changer cette valeur maximale de 1000 octets
(en anglais: byte = octet)
a_me est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/08/2006, 21h48   #2
Membre régulier
 
Avatar de jp_rennes
 
Inscription : mars 2006
Messages : 72
Détails du profil
Informations personnelles :
Âge : 39
Localisation : France, Ille et Vilaine (Bretagne)

Informations forums :
Inscription : mars 2006
Messages : 72
Points : 83
Points : 83
Extrait de la doc mysql :

Prefixes can be up to 1000 bytes long (767 bytes for InnoDB tables). (Before MySQL 4.1.2, the limit is 255 bytes for all tables.) Note that prefix limits are measured in bytes, whereas the prefix length in CREATE INDEX statements is interpreted as number of characters for non-binary data types (CHAR, VARCHAR, TEXT). Take this into account when specifying a prefix length for a column that uses a multi-byte character set.

Avec la version que tu as ton index ne peut exéder les 1000 bytes.
Pour savoir laquelle recrée ta table sans les key et uniques key puis rajoute les un à un pour savoir qui pose problème
jp_rennes est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/08/2006, 03h15   #3
Membre du Club
 
Avatar de a_me
 
Inscription : novembre 2004
Messages : 64
Détails du profil
Informations personnelles :
Âge : 31
Localisation : Maroc

Informations forums :
Inscription : novembre 2004
Messages : 64
Points : 40
Points : 40
merci pour ton aide, mais d'abord, je rectifie: j'ai sauvegardé la base sous mysql 3.23.58. d'autre part, j'ai pa eu ce probleme là lors de la creation de la table pour la premire fois sous mysql 3.23.58.
mé bon je vai essayer ce que tu as dit, si ya un moyen de changer dik la valeur de 1000 bytes, merci de men informe r
a_me est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 13h07.


 
 
 
 
Partenaires

Hébergement Web