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

PHP & Base de données Discussion :

UPDATE avec JOIN [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Webmaster
    Inscrit en
    Août 2018
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Août 2018
    Messages : 56
    Par défaut UPDATE avec JOIN
    Bjr,

    Je souhaite faire une MàJ des noms de communes de la table `deces` en comparant le code INSEE de la table `deces` avec celui de la table `communes`.

    Je rencontre une difficulté avec la syntaxe :

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    UPDATE d
    SET d.commdeces = c.commune
    FROM deces as d INNER JOIN communes as c
    ON d.lieudeces = c.insee
    WHERE d.commdeces=""

    Le message d'erreur est le suivant :
    #1064 - Erreur de syntaxe près de 'FROM deces as d INNER JOIN communes as c
    ON d.lieudeces = c.insee
    WHERE d.comm' à la ligne 3
    Merci de votre aide

  2. #2
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Bonjour,

    Une requête UPDATE avec une jointure est différente entre chaque type de BD. Pour Mysql:
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    UPDATE deces as d INNER JOIN communes as c ON d.lieudeces = c.insee
    SET d.commdeces = c.commune
    WHERE d.commdeces=""

  3. #3
    Membre averti
    Homme Profil pro
    Webmaster
    Inscrit en
    Août 2018
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Août 2018
    Messages : 56
    Par défaut [MySQL] UPDATE avec JOIN
    Bonsoir,

    Comme ma bdd est très volumineuse (2.625.962 lignes), je reçois l'erreur suivante :
    #1205 - Timeout sur l'obtention du verrou

  4. #4
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 322
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 322
    Billets dans le blog
    17
    Par défaut
    Les champs du critère de jointure et du WHERE sont indexés ?
    Le timeout arrive au bout de combien de temps ?

  5. #5
    Membre averti
    Homme Profil pro
    Webmaster
    Inscrit en
    Août 2018
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Août 2018
    Messages : 56
    Par défaut [MySQL] UPDATE avec JOIN
    Jusqu'à présent je n'ai pas indexé les champs.
    Le Timeout arrive au bout de plus de 5 minutes.
    Pas mesuré exactement car je fais autre chose en attendant, tellement c'est long.

  6. #6
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 322
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 322
    Billets dans le blog
    17
    Par défaut
    Il va falloir penser à indexer tes colonnes, sinon tes tables sont entièrement parcourues, ligne par ligne, pour la jointure, et pour le filtre.

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

Discussions similaires

  1. Problème UPDATE avec JOIN
    Par reftop10 dans le forum Requêtes
    Réponses: 2
    Dernier message: 13/02/2012, 13h19
  2. Requete UPDATE avec JOIN
    Par Ludix dans le forum Requêtes
    Réponses: 2
    Dernier message: 03/03/2011, 11h25
  3. [SQL]UPDATE avec JOIN
    Par sempire dans le forum DB2
    Réponses: 3
    Dernier message: 03/11/2009, 13h21
  4. Update avec join
    Par olibara dans le forum Langage SQL
    Réponses: 4
    Dernier message: 26/11/2008, 16h01
  5. UPDATE avec JOIN ?
    Par zakuli dans le forum Débuter
    Réponses: 3
    Dernier message: 25/07/2007, 14h53

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