IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Requêtes MySQL Discussion :

Trouver la clé primaire dans un SHOW COLUMNS


Sujet :

Requêtes MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite Avatar de Herode
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2005
    Messages
    825
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2005
    Messages : 825
    Par défaut Trouver la clé primaire dans un SHOW COLUMNS
    Bonjour à tous,

    Je dois faire une moulinette pour mettre à jour les tables de plusieurs bases de données. Pour ce faire, je dois utiliser une approche générique, pas question de corriger ça manuellement table par table et colonne par colonne.

    J'ai donc commencé un script (en PHP) pour cela.
    Je commence par récupérer les tables de chaque base par un SHOW TABLES.
    Pour chaque table, le SHOW COLUMNS me permet d'identifier les champs texte que je dois modifier :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SHOW COLUMNS IN article WHERE TYPE LIKE 'varchar%' OR TYPE LIKE 'text';
    Jusque là, tout va bien.
    Mais pour pouvoir faire mon UPDATE, je dois aussi récupérer la ou les colonnes qui servent de clé et c'est là que le bât blesse.

    Soit par exemple la requête :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SHOW COLUMNS IN article;
    J'obtiens comme résultat :
    Field/Type/Null/Key/...
    art_id/int(10) unsigned/NO/PRI
    pas_id/int(10) unsigned/NO/MUL
    ...
    Ici, la clé est 'art_id', je cherche donc la requête qui va me permettre de la trouver.

    J'ai essayé :
    SHOW COLUMNS IN article WHERE Key = PRI;
    SHOW COLUMNS IN article WHERE Key = 'PRI';
    SHOW COLUMNS IN article WHERE Key IS PRI;

    ...en vain : les requêtes ne sont pas valides.

    Et je ne trouve pas la syntaxe appropriée. Si quelqu'un connait la manipulation, un coup de main serait le bienvenu

  2. #2
    Membre Expert
    Avatar de Maljuna Kris
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2005
    Messages
    2 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Finistère (Bretagne)

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

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 613
    Par défaut
    Saluton,
    Cela semble fonctionner très bien
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    SHOW COLUMNS FROM `article` WHERE `Key`='PRI'
    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)

  3. #3
    Membre émérite Avatar de Herode
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2005
    Messages
    825
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2005
    Messages : 825
    Par défaut
    Ha, voilà, ce sont les antiquotes qui me manquaient. Ca va être la première fois que je les utilise en plus de 10 ans de dev, je crois

    Merci !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comment trouver le SubItem cliqué dans un TListview ?
    Par Invité dans le forum C++Builder
    Réponses: 7
    Dernier message: 09/10/2005, 12h27
  2. Comment comment définir une clef primaire dans une table??
    Par nek_kro_kvlt dans le forum Bases de données
    Réponses: 4
    Dernier message: 07/02/2005, 21h06
  3. Comment avoir 2 clés primaires dans une table
    Par Guigui_ dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 18/01/2005, 08h29
  4. L'equivalent de "show columns"(MYSQL) en SQL Serve
    Par robluce dans le forum Langage SQL
    Réponses: 2
    Dernier message: 20/10/2004, 09h36
  5. [Bdd ]Trouver la clé primaire d'une table
    Par drosof dans le forum JDBC
    Réponses: 3
    Dernier message: 11/08/2004, 10h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo