Reqûête SQL : Importation sans doublon

DarkBune Messages postés 191 Date d'inscription   Statut Membre Dernière intervention   -  
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   -
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

yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 584
 
Je te suggère de définir un index unique sur (items_id,itemtype) dans la table glpi_reservationitems
1
DarkBune Messages postés 191 Date d'inscription   Statut Membre Dernière intervention   8
 
c'est-à-ddire un index unique ?
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584
 
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);
0
DarkBune Messages postés 191 Date d'inscription   Statut Membre Dernière intervention   8
 
ça me met : ERROR : Duplicate column name 'items_id' quand je fais votre requête
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584
 
ALTER TABLE `glpi_reservationitems` 
ADD UNIQUE INDEX `uniq` (`items_id` ASC, `itemtype` ASC);
0
DarkBune Messages postés 191 Date d'inscription   Statut Membre Dernière intervention   8
 
Merci beaucoup ça marche parfaitement , merci pour votre temps
0
Utilisateur anonyme
 
Bonjour,

pourquoi lancer 2 fois la requête ???

A+
0
DarkBune Messages postés 191 Date d'inscription   Statut Membre Dernière intervention   8
 
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
0
Utilisateur anonyme
 
Je serais toi, je ferais un DELETE * FROM avant ta requête d'INSERT alors...

No ?

A+
0
DarkBune Messages postés 191 Date d'inscription   Statut Membre Dernière intervention   8
 
Non je peux pas car ça va supprimer des réservations en cours
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Bonjour
Tu peux definir le champ items_id en primary_key
0
DarkBune Messages postés 191 Date d'inscription   Statut Membre Dernière intervention   8
 
Bonjour , merci pour votre réponse mais ça me met : Multple primary key defined
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752 > DarkBune Messages postés 191 Date d'inscription   Statut Membre Dernière intervention  
 
Quelle est la structure de ta table ?
0
DarkBune Messages postés 191 Date d'inscription   Statut Membre Dernière intervention   8
 
glpi_reservationitems: voila ses champs

-id
-itemtype
-entites_id
-is_recusirve
-items_id
-comment
-is_active
-is_delected
-name
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584
 
et quelle est la clé primaire sur cette table?
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752 > yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention  
 
Vu 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....
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 584
 
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?
0