Bonjour, je voudrais insérer dans une table b le contenu entier d'une table a, mais si un enregistrement existe déjà, seulement mettre à jour l'enregistrement.
champ1unique : est une valuer qui doit être unique
champ2valeur : est une valeur à ajouter (ou updater si champ1unique existe déjà)
Insert Into table_b (champ1unique, champ2valeur) Select (champ1unique,champ2valuer) From table_a
visiblement dans le mode d'emploi MySQL le ON DUPLICATE KEY UPDATE n'existe pas lorsque on fait un Insert avec un Select.
Alors peut-être une requête sur la table_a
Select (champ1unique,champ2valeur) From table_a
while($val = mysql_fetch_array($req))
{
$x=$val['champ1unique'];
$y=$val['champ2valeur'];
INSERT INTO table_b (champ1unique, champ2valeur) VALUES ($x,$y) ON DUPLICATE KEY UPDATE champ2valeur=$y
}
est-ce que c'est comme ça qu'on fait ou est-ce qu'il y a une autre méthode?
champ1unique : est une valuer qui doit être unique
champ2valeur : est une valeur à ajouter (ou updater si champ1unique existe déjà)
Insert Into table_b (champ1unique, champ2valeur) Select (champ1unique,champ2valuer) From table_a
visiblement dans le mode d'emploi MySQL le ON DUPLICATE KEY UPDATE n'existe pas lorsque on fait un Insert avec un Select.
Alors peut-être une requête sur la table_a
Select (champ1unique,champ2valeur) From table_a
while($val = mysql_fetch_array($req))
{
$x=$val['champ1unique'];
$y=$val['champ2valeur'];
INSERT INTO table_b (champ1unique, champ2valeur) VALUES ($x,$y) ON DUPLICATE KEY UPDATE champ2valeur=$y
}
est-ce que c'est comme ça qu'on fait ou est-ce qu'il y a une autre méthode?