Précédent   Forum des professionnels en informatique > Bases de données > MySQL > Débuter
Débuter Forum d'entraide pour débuter avec 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 29/09/2011, 18h11   #1
Membre régulier
 
Inscription : janvier 2004
Messages : 228
Détails du profil
Informations forums :
Inscription : janvier 2004
Messages : 228
Points : 70
Points : 70
Par défaut UNIQUE Key apparu à l'export

Je dispose d'une table que je gère avec phpmyadmin

Code :
1
2
3
4
5
6
CREATE TABLE `cdt_prof` (
  `ID_prof` smallint(5) UNSIGNED NOT NULL AUTO_INCREMENT,
  `nom_prof` varchar(255) NOT NULL DEFAULT '',
  PRIMARY KEY  (`ID_prof`),
  UNIQUE KEY `nom_prof` (`nom_prof`)
) ENGINE=MyISAM AUTO_INCREMENT=1 ;
En faisant Exporter dans phpmyadmin, j'obtiens

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
CREATE TABLE `cdt_prof` (
  `ID_prof` smallint(5) UNSIGNED NOT NULL AUTO_INCREMENT,
  `nom_prof` varchar(255) NOT NULL DEFAULT '',
  PRIMARY KEY (`ID_prof`),
  UNIQUE KEY `nom_prof` (`nom_prof`),
  UNIQUE KEY `nom_prof_2` (`nom_prof`),
  UNIQUE KEY `nom_prof_3` (`nom_prof`),
  UNIQUE KEY `nom_prof_4` (`nom_prof`),
  UNIQUE KEY `nom_prof_5` (`nom_prof`),
  UNIQUE KEY `nom_prof_6` (`nom_prof`),
  UNIQUE KEY `nom_prof_7` (`nom_prof`),
  UNIQUE KEY `nom_prof_8` (`nom_prof`),
  UNIQUE KEY `nom_prof_9` (`nom_prof`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=93 ;
Pourquoi apparaissent ces lignes supplémentaires
UNIQUE KEY `nom_prof_2` (`nom_prof`),
UNIQUE KEY `nom_prof_3` (`nom_prof`),
UNIQUE KEY `nom_prof_4` (`nom_prof`),
UNIQUE KEY `nom_prof_5` (`nom_prof`),
UNIQUE KEY `nom_prof_6` (`nom_prof`),
UNIQUE KEY `nom_prof_7` (`nom_prof`),
UNIQUE KEY `nom_prof_8` (`nom_prof`),
UNIQUE KEY `nom_prof_9` (`nom_prof`)

Quel en est l'origine ?
Merci à tous
pierre50 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/09/2011, 10h03   #2
Modérateur
 
Avatar de CinePhil
 
Homme Philippe Leménager
Ingénieur d'études en informatique
Inscription : août 2006
Messages : 11 029
Détails du profil
Informations personnelles :
Nom : Homme Philippe Leménager
Âge : 48
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur d'études en informatique
Secteur : Enseignement

Informations forums :
Inscription : août 2006
Messages : 11 029
Points : 18 327
Points : 18 327
Envoyer un message via MSN à CinePhil
Bizarre en effet !
Est-ce qu'un programme externe qui alimente la table (auto_increment est passé à 93) ne créerait pas les index supplémentaires ?
Ces index apparaissent-ils dans phpMyAdmin ?
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique.
Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework...
« Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française !
Linuxiens, comptez-vous !
CinePhil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/09/2011, 12h32   #3
Membre régulier
 
Inscription : janvier 2004
Messages : 228
Détails du profil
Informations forums :
Inscription : janvier 2004
Messages : 228
Points : 70
Points : 70
Entre la création et l'export, il y a eu saisie via php de 93 enregistrements.
L'application d'ailleurs fonctionne bien.
Je m'étonne simplement de ce résultat à l'export (sauvegarde) qui posera problème lors d'une restauration.

Je ne vois pas de quel coté chercher.
Pourquoi 8 index supplémentaires sont-ils apparus ?
Pourquoi font-ils référence à nom_prof - UNIQUE KEY `nom_prof_2` (`nom_prof`)
pierre50 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/09/2011, 13h33   #4
Modérateur
 
Avatar de CinePhil
 
Homme Philippe Leménager
Ingénieur d'études en informatique
Inscription : août 2006
Messages : 11 029
Détails du profil
Informations personnelles :
Nom : Homme Philippe Leménager
Âge : 48
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur d'études en informatique
Secteur : Enseignement

Informations forums :
Inscription : août 2006
Messages : 11 029
Points : 18 327
Points : 18 327
Envoyer un message via MSN à CinePhil
J'avais bien compris tout ça mais ça ne répond pas à mes questions qui sont des pistes de recherche de la cause.
Citation:
Envoyé par pierre50 Voir le message
Entre la création et l'export, il y a eu saisie via php de 93 enregistrements.
N'est-ce pas ce programme PHP qui aurait pu créer les index ?
Citation:
Je m'étonne simplement de ce résultat à l'export (sauvegarde) qui posera problème lors d'une restauration.
Pas sûr que ça se soit produit pendant la génération de l'exportation.

Citation:
Je ne vois pas de quel coté chercher.
Bis repetita :
Citation:
Envoyé par CinéPhil
Ces index apparaissent-ils dans phpMyAdmin ?
Que donne la requête suivante ?
Code :
SHOW CREATE TABLE cdt_prof
Citation:
Pourquoi font-ils référence à nom_prof - UNIQUE KEY `nom_prof_2` (`nom_prof`)
D'après le script de création de la table, tu as créé un index unique sur cette colonne et ces index qui a été dupliqué.
Reste à trouver pourquoi.
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique.
Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework...
« Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française !
Linuxiens, comptez-vous !
CinePhil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/09/2011, 13h36   #5
Expert Confirmé
 
Avatar de Maljuna Kris
 
Homme Avcxjo MoKo
Retraité
Inscription : novembre 2005
Messages : 2 530
Détails du profil
Informations personnelles :
Nom : Homme Avcxjo MoKo
Âge : 60

Informations professionnelles :
Activité : Retraité
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : novembre 2005
Messages : 2 530
Points : 3 523
Points : 3 523
Saluton,
Il semble qu'une requête ALTER TABLE créant un nouvel index UNIQUE soit appelée tous les 10 INSERT.
Un trigger ?
__________________
Kie lumo eksistas ankaŭ ombro troviĝas. L.L. Zamenhof
articles : Comment émuler un tableau croisé [quasi] dynamique
et : Une énigme mathématique résolue avec MySQL
recommande l'utilisation de PDO (PHP5 Data Objects)
Maljuna Kris est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/09/2011, 16h26   #6
Membre régulier
 
Inscription : janvier 2004
Messages : 228
Détails du profil
Informations forums :
Inscription : janvier 2004
Messages : 228
Points : 70
Points : 70
Oui, c'est cela... !
J'ai donné la possibilité de forcer la mise à jour de l'application depuis une très ancienne version.
Dans ce cas là, il y a effectivement reprise de la commande
$query = "ALTER TABLE`cdt_prof` ADD UNIQUE (`nom_prof`) "

Merci à tous de m'avoir guidé dans cette recherche !
pierre50 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 20h58.


 
 
 
 
Partenaires

Hébergement Web