Ecrire des champs dans plusieurs tables en un fois

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Ecrire des champs dans plusieurs tables en un fois

Re: Ecrire des champs dans plusieurs tables en un fois

par jacfev » 14 mars 2011, 17:14

J'ai trouvé
En plus de la requête j'ajoute 2
$sql = "INSERT INTO ...

pour éviter d'insérer un doublon d'index unique je mets IGNORE.

Re: Ecrire des champs dans plusieurs tables en un fois

par xTG » 14 mars 2011, 13:57

Ta structure n'est pas claire.
Qu'est ce qui est clé et qu'est ce qui ne l'est pas ?
Tes trois tables sont-elles vides ou pleines ?

Ecrire des champs dans plusieurs tables en un fois

par jacfev » 14 mars 2011, 11:55

Bonjour,

Je dois copier des champs d'une table dans 3 autres tables.
J'ai une table source nommée devis avec les champs codearticle, designation, prix, machine, codeclient.
Une 1ère table cible nommée articles avec les champs codearticle, designation, prix, machine, codeclient_id.
Une 2ème table cible nommée societes avec les champs machine, codeclient, nom.
Une 3ème table cible nommée inscrits avec les champs login machine, email, motpasse, codeclient_id, date.

J'effectue la connexion à la base et je lance ma requête:
$idcnx = mysql_connect($hote, $user, $pass);
mysql_select_db($base, $idcnx);
//je récupère les données et les copie dans la table articles
$sql = "INSERT INTO articles(codearticle,designation,prix,machine,codeclient_id)
SELECT codearticle,designation,prix,machine,codeclient FROM devis";
C'est OK pour la copie dans la table articles

Mais comment modifier la requête pour écrire également:
- les champs machine, codeclient dans la table societes
- et les champs machine, codeclient_id dans la table inscrits

Cordialement
Jacques.