copie de champs d'une table à une autre [Debutant][Mysql] - SQL/NoSQL - Programmation
Marsh Posté le 25-09-2006 à 22:13:03
La syntaxe pour une requête INSERT est la suivante :
INSERT INTO Table (...) VALUES (...);
Marsh Posté le 25-09-2006 à 22:23:46
j'avais compris que VALUES permettait de mettre les valeurs plutot que des variables.
Marsh Posté le 25-09-2006 à 22:30:31
Oui exact, je viens de me rendre compte de mon erreur ...
As tu essayé de rajouter le nom de la base de de données devant tes tables ainsi que le nom des tables devant les différents champs ?
Marsh Posté le 25-09-2006 à 22:35:02
oui sans succes
Citation : INSERT INTO resiliation_numeris ( rne, nom_etab, num_telephone, ville, numero_numeris ) |
renvoie
Citation : MySQL a répondu:Documentation |
Marsh Posté le 25-09-2006 à 22:38:08
Et en supprimant les parenthèses du SELECT de cette manière:
Code :
|
Marsh Posté le 15-10-2006 à 20:16:29
nouvelle question:
je voudrais recuperer un champ (adresse_network_eth1_amon) d'une table (etabgenerale) vers une autre table (resiliation_numeris) dans le cas ou les champs clé (rne pour les 2 tables) sont egaux
j'ai cette requete qui ne fonctionne pas..;
Citation : INSERT INTO resiliation_numeris ( `reseau_etab`) SELECT `adresse_network_eth1_amon` FROM `etabgenerale` `resiliation_numeris` WHERE resiliation_numeris.rne=etabgenerale.rne |
Marsh Posté le 15-10-2006 à 21:12:27
un UPDATE me parait pluss approprié mais ne fonctionne pas
Citation : UPDATE resiliation_numeris SET( `resiliation_numeris.reseau_etab` = `etabgenerale.adresse_network_eth1_amon` ) WHERE `resiliation_numeris.rne` = `etabgenerale.rne` |
Marsh Posté le 15-10-2006 à 21:35:52
isanaud a écrit : nouvelle question:
|
Généralement, le SGBD ne veut pas faire l'insertion dans l'une des tables utilisées pour le SELECT
Faut insérer dans une table temporaire et recopier ensuite vers la table voulue.
Marsh Posté le 15-10-2006 à 21:50:01
Citation : UPDATE resiliation_numeris SET resiliation_numeris.reseau_etab=etabgenerale.adresse_network_eth1_amon WHERE resiliation_numeris.rne=etabgenerale.rne ; |
me repond:
Citation : ERROR 1054 (42S22): Unknown column 'etabgenerale.rne' in 'where clause' |
pour le champ existe bien
Marsh Posté le 15-10-2006 à 21:56:04
Evidemment, ou veut tu qu'il trouve ce champ "etabgenerale.rne"
Essaie quelque chose du genre :
UPDATE resiliation_numeris, etabgenerale SET resiliation_numeris.reseau_etab=etabgenerale.adresse_network_eth1_amon WHERE resiliation_numeris.rne=etabgenerale.rne ;
Marsh Posté le 11-12-2006 à 15:44:30
autre question : dans une meme table, je veux copier la valeur d'une ligne dans une autre ligne
Dans la première ligne je veux récupérer la vaeur qui correspond à l'info amon et la copier dans la valeur qui correspond à shiva.
J'ai donc la requete suivante:
Citation : update `info_serveur` set `valeur` = (select `valeur` where `info` = 'amon') where `info` = 'shiva'; |
MySql me repond:
Citation : You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'select `valeur` where `info` = 'amon') where `info` = 'shiva'' |
Marsh Posté le 20-12-2006 à 17:19:30
isanaud a écrit :
|
Marsh Posté le 21-12-2006 à 15:51:09
Bon j'arrive peut-être trop tard mais pourquoi des quotes (') entre le nom des champs et des tables ? Regarde la requête précédente que t'as fournie mrbebert et analyse là. Tu ne dois mettre que les valeurs chaîne entre quote, notamment pour les critères de sélection (clause WHERE).
Dans ta requête de mise à jour tu ne dois laisser en commentaire que amon et shiva.
Je te mets la version correcte de la requête car tu as oublié un FROM dans le SELECT :
update info_serveur set valeur = (select valeur from info_serveur where info = 'amon') where info = 'shiva'; |
Voilà.
Marsh Posté le 25-09-2006 à 22:00:14
Bonjour,
j'utilise le code suivant sous phpmyadmin pour copier les champs d'une table (etabgenerale) à une autre table (resiliation_numeris)
INSERT INTO resiliation_numeris ( rne, nom_etab, num_telephone, ville, numero_numeris)
SELECT ( rne, nom, telephone, ville, tel_oleane) FROM etabgenerale
j'ai l'erreur suivante:
MySQL a répondu:Documentation
#1064 - You have an error in your SQL syntax near ' nom, telephone, ville, tel_oleane) FROM etabgenerale' at line 2
les champs ont été créés pour la table de destination.
Message édité par isanaud le 25-09-2006 à 22:04:09