Copier les données d'une table dans autre table existante

DarkBune Messages postés 215 Date d'inscription   Statut Membre Dernière intervention   -  
DarkBune Messages postés 215 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour dans le cadre d'un projet GLPI , il faut que je copie les données d'une table nommée "glpi_computers" dans une autre table "glpi_reservationitems"

Je note la commande suivante:

mysql> INSERT INTO glpi_reservationitems SELECT (entities_id,name,serial,otherserial,contact,contact_num,users_id_tech,groups_id_tech,comment,date_mod,operatingsystems_id,operatingsystemversions_id,operatingsystemservicepacks_id,os_license_number,os_licenseid,autoupdatesystems_id,locations_id,domains_id,networks_id,computermodels_id,computertypes_id,is_template,template_name,manufacturers_id,is_dynamic,users_id,groups_id,states_id,ticket_tco,uuid) FROM glpi_computers;

Cela me renvoie l'erreur suivante:
ERROR 1241 (21000): Operand should contain 1 column(s)

Avez-vous une idée pour m'aider ? Merci

1 réponse

  1. nagaD.scar Messages postés 4500 Statut Membre 255
     
    Salut,

    as tu essayé de traduite le message d erreur? il t indique qu il faut qu moins une colonne de destination (trad grossière).

    Donc, la solution en devient évidente: il faut que tu indiques les colonnes "receptrices" :

    insert into matable (colonne1, colonne2, ....) select origine1,origine2, ... from table origine ...
    


    naga
    1
    1. DarkBune Messages postés 215 Date d'inscription   Statut Membre Dernière intervention   9
       
      Oui j'ai vu , merci . J'ai juste une question il est possible d'ajouter les colonnes qui existent dans la table 1 dans la tables 2 (ces colonnes n'existent pas dans cette table )

      Exemple :

      Dans glpi_computers , j'ai :
      id , entities_id , name ect..

      Dans glpi_reservationitems:
      itemtype,entities_id ect ..

      J'aimerai mettre id , entities , name dans glpi_reservationitems
      0
    2. nagaD.scar Messages postés 4500 Statut Membre 255
       
      ce n est qu une question d'ordre: si tu fais:

      insert into matable (colonne1, colonne2) select origine1,origine2 from table origine ...


      origine1 ira dans colonne1 et 2 dans 2.

      Par contre tu ne peux pas créer de colonne à la volée (c est a dire au moment de l insert). Pour ca tu dois d abord créer tes colonnes puis les nommer dans ta requete .
      0
    3. DarkBune Messages postés 215 Date d'inscription   Statut Membre Dernière intervention   9
       
      d'accord merci bien
      0