Reqûête SQL : Importation sans doublon

Bonjour, j'aimerai importer des champs de glpi_computers dans glpi_reservationitems , mais je ne veux pas qu'il est de doublons .

Voila ma requête:

REPLACE glpi_reservationitems(items_id,itemtype)
SELECT id,itemtype
FROM glpi_computers;

Quand je fais 2 fois cette requête les doublons apparaissent , Avez-vous des solutions ? Merci

5 réponses

  1. Contributeur
    Je te suggère de définir un index unique sur (items_id,itemtype) dans la table glpi_reservationitems
    1. c'est-à-ddire un index unique ?
    2. Contributeur
      tu as un outil qui te permet de modifier la structure de tes tables: avec cet outil, tu peux créer un index unique.
      ou bien:
      ALTER TABLE `glpi_reservationitems` 
      ADD UNIQUE INDEX `uniq` (`items_id` ASC, `items_id` ASC);
    3. ça me met : ERROR : Duplicate column name 'items_id' quand je fais votre requête
    4. Contributeur
      ALTER TABLE `glpi_reservationitems` 
      ADD UNIQUE INDEX `uniq` (`items_id` ASC, `itemtype` ASC);
    5. Merci beaucoup ça marche parfaitement , merci pour votre temps
  2. Bonjour,

    pourquoi lancer 2 fois la requête ???

    A+
    1. Car je fais des ajouts d'équipements pour le mettre en mode réservation , il se peu que j'ajoute des nouveaux équipements au fil du temps et quand j'ajoute des nouveaux équipements et que je fais cette requête , dans ma partie réservation je vais avoir 2 fois le même nom du matériel que je pourrai ajouter en réservation
  3. Je serais toi, je ferais un DELETE * FROM avant ta requête d'INSERT alors...

    No ?

    A+
    1. Non je peux pas car ça va supprimer des réservations en cours
  4. Modérateur
    Bonjour
    Tu peux definir le champ items_id en primary_key
    1. Bonjour , merci pour votre réponse mais ça me met : Multple primary key defined
    2. Modérateur
      @DarkBuneQuelle est la structure de ta table ?
    3. glpi_reservationitems: voila ses champs

      -id
      -itemtype
      -entites_id
      -is_recusirve
      -items_id
      -comment
      -is_active
      -is_delected
      -name
    4. Contributeur
      et quelle est la clé primaire sur cette table?
    5. Modérateur
      @yg_beVu le message d'erreur... et la structure de sa table ... je pense qu'il à mis un champ "id" (auto-incrementé) en guide de clé primaire.
      Le tout est de savoir si ça lui est réellement utile...;
      Si il ne souhaite pas avoir d'item en "doublon" ... il peut ( plusieurs choix possibles )
      : Définir le champ items_id en tant que clé primaire (et retirer l'autre...)
      ou définir le champ items_id en tant "unique" (tout en conservant l'id comme clé primaire)
      après... je ne comprend pas son besoin de faire de INSERT SELECT (ou du REPLACE...) depuis son autre table dans celle là .....
      A mon avis il ne connais pas les "jointures" et/ou ne sait pas les utiliser....
  5. Contributeur
    bonjour DarkBune, c'est rarement une bonne idée de répliquer des données dans plusieurs tables: souhaites-tu vérifier avec nous si c'est la bonne solution pour toi?