Partage
  • Partager sur Facebook
  • Partager sur Twitter

unicité sur 3 colonnes

mysql

    5 octobre 2023 à 21:05:16

    bonjour j'ai une table mysql  "equipes" comme ceci

    id_eq  tinyint

    nom varchar

    joueur1  tinyint

    joueur2 tinyint

    joueur3 tinyint

    je souhaiterais que les joueurs soient uniques dans les 3 colonnes

    c'est à dire que mon id  est 69

    j'inscris mon equipe avec joueur1: 69     joueur 2:21  joueur3: 33

    il doit être impossible de rentrer 69 sur aucun des 3 champs joueurs1 joueur2 et joueur3 d'une autre équipe

    j'espère que je suis clair

    en fait un joueur ne peut appartenir qu'à une seule équipe

    merci

    -
    Edité par ciocciu 5 octobre 2023 à 21:18:41

    • Partager sur Facebook
    • Partager sur Twitter
      26 octobre 2023 à 15:17:34

      Salut,

      Avec un tel modèle de données, ca me parait impossible autrement qu'en incluant cet intelligence dans le back de ton projet. En gros ta contrainte ne se fera au pas au niveau de la base avec une contrainte technique, mais dans le code lors de l'insertion.

      Plusieurs options, tu mets dans dans ton INSERT une clause NOT EXISTS quelques part qui va vérifier si ton id est pas déjà dans ta table.

      Ou bien avant de tenter ton insert, tu peux faire un select qui va remonter une info sur la présence de l'id en base.

      Sinon, faudra passer par un autre modèle, à base d'une table équipe, et une table joueur, avec une FK de joueur vers équipe, ton joueur ne pourra pas exister dans 2 équipes. Soucis, ta gestion de 3 joueurs devra être faite autrement.

      Cdlt

      • Partager sur Facebook
      • Partager sur Twitter

      unicité sur 3 colonnes

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      • Editeur
      • Markdown