Partage
  • Partager sur Facebook
  • Partager sur Twitter

jointure compliquée

Sujet résolu
    2 juin 2020 à 21:04:23

    Bonsoir, j'ai un petit soucis avec une requête SQL.

    J'ai 3 tables.

    Dans la première (chanteur) j'ai un champ 'id' et un champ 'nom' (le nom est unique)

    Dans la seconde (chanson) c'est pareil, un champ 'id' et un champ 'titre' unique.

    Dans la dernière (chanteur_chanson) j'ai un 'id', un 'id_chanteur', un 'id_chanson' et un 'date_ajout'.

    Un chanteur peut être associé à plusieurs chanteur_chanson et une chanson peut avoir plusieurs chanteur_chanson.

    Pour pouvoir ajouter une ligne 'chanteur_chanson', je dois récupérer l'id du chanteur et l'id de la chanson.

    L'idée c'est que je ne veux pas de doublons. J'avais commencé avec un ON DUPLICATE UPDATE sauf que 

    le champ 'date_ajout' est pris en compte. J'ai donc des doublons de chanteur_chanson ayant un 'date_ajout' différent.

    Ma question est donc la suivante : est il possible de spécifier un champ à ne pas tester lors du ON DUPLICATE UPDATE ?

    • Partager sur Facebook
    • Partager sur Twitter
      2 juin 2020 à 21:12:51

      Bonjour,

      Il suffit de mettre comme clé primaire la composition des deux colonnes id dans la table de relation ...

      • Partager sur Facebook
      • Partager sur Twitter
      Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL
        2 juin 2020 à 22:51:52

        merci, pour la clé primaire j'ai déjà un id spécifique par contre ça marche si je déclare la composition des deux colonnes id unique. J'ai aussi viré le champ date_ajout qui ne me sert pas à grand chose en fait ^^'
        • Partager sur Facebook
        • Partager sur Twitter
          3 juin 2020 à 8:37:36

          L'id spécifique ne sert à rien à part prendre de la place ...

          • Partager sur Facebook
          • Partager sur Twitter
          Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL

          jointure compliquée

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown