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 :

Créer de nouveaux champs à partir d'un champ existant


Sujet :

Requêtes MySQL

  1. #1
    Membre habitué Avatar de Jahprend
    Profil pro
    Étudiant
    Inscrit en
    Juin 2006
    Messages
    255
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2006
    Messages : 255
    Points : 165
    Points
    165
    Par défaut Créer de nouveaux champs à partir d'un champ existant
    Bonjour,

    Est-il possible via une requête ou autre, que, à partir d'un champ de ma table "qualité", qui contient un texte de la forme "bla/info1/info2/blabla/info3", de créer plusieurs champs qui contiendrai une partie des infos séparés par les slash, du type :
    -nouveau champ1 : "bla"
    -nouveau champ2 : "info1"
    etc

    Après quelques recherches, on dirai que ALTER TABLE pourrai faire cela, mais je n'ai rien trouvé sur le mécanisme de séparation du "/", à voir.

    Merci d'avance

  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 : 72
    Localisation : France, Finistère (Bretagne)

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

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 613
    Points : 3 950
    Points
    3 950
    Par défaut
    Saluton,
    Bien que ta question paraisse anodine, elle soulève au moins deux interrogations :
    Est-ce que la colonne contient la même «structure» d'information sur toutes les lignes, autrement dit, les '/' y sont-ils tous toujours présents ?
    Les colonnes info1, info2, info3 sont-elles potentiellement des colonnes de même type ? Auquel cas il serait probablement plus pertinent de faire une table a mettre en jointure avec la table mère.

  3. #3
    Membre habitué Avatar de Jahprend
    Profil pro
    Étudiant
    Inscrit en
    Juin 2006
    Messages
    255
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2006
    Messages : 255
    Points : 165
    Points
    165
    Par défaut
    Est-ce que la colonne contient la même «structure» d'information sur toutes les lignes, autrement dit, les '/' y sont-ils tous toujours présents ?
    Oui, ma colonne à toujours le même nombre de "/", et à toujours la même structure, par contre les champs à l'intérieur, eux, auront pas toujours la même longueur.

    Les colonnes info1, info2, info3 sont-elles potentiellement des colonnes de même type ?
    Type? c'est à dire texte? enfin je le comprend comme ca, mais oui, c'est uniquement une suite de caractère ces champs là, avec des chiffres et des lettres dedans

  4. #4
    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 : 72
    Localisation : France, Finistère (Bretagne)

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

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 613
    Points : 3 950
    Points
    3 950
    Par défaut
    A ma connaissance, il n'existe pas d'équivalent MySQL aux fonctions split() ou explode() de PHP.
    Donc il va falloir faire en trois temps.
    1. modifier la table avec les alter table qui vont bien ou créer une autre table pour y exporter ces nouvelles lignes avec une structure clé mère, rang, donnée où clé-mère devrait idéalement être une clé étrangère et rang l'offset dans la colonne d'origine.
    2. créer un script PHP ou une procédure stockée qui exploite la colonne d'origine avec une fonction équivalente de split() ou explode()
    3. Exécuter la requête qui fera appel à cette prodécure stockée ou bien le script PHP qui utilisera PDO et une requête préparée pour faire ces INSERT ou ces UPDATE

  5. #5
    Membre habitué Avatar de Jahprend
    Profil pro
    Étudiant
    Inscrit en
    Juin 2006
    Messages
    255
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2006
    Messages : 255
    Points : 165
    Points
    165
    Par défaut
    Merci pour tes réponses

    Je vais essayer de faire ce que tu m'as dit, mais j'avoue etre peu callé en la matière, et je suis pas sur d'avoir compris toute les notions citées...

Discussions similaires

  1. [Images] Créer un fichier jpg à partir d'un champ blog mysql
    Par lolodev dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 23/07/2011, 14h06
  2. Mise à jour automatique de champs à partir d'autres champs
    Par Heytabernak dans le forum Langage SQL
    Réponses: 1
    Dernier message: 17/10/2008, 14h56
  3. Réponses: 2
    Dernier message: 20/07/2008, 19h22
  4. Réponses: 5
    Dernier message: 23/03/2007, 16h27
  5. Réponses: 2
    Dernier message: 08/05/2006, 12h22

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