Bonjour,
J'ai cherché sans trouver de réponse à mon problème,
ce qui m'amène à vous poser cette question !
D'avance je m'excuse si j'ai raté la solution quelque part...
Pour commencer:
je developpe en php/MySQL.
J'ai deux tables qui contiennent des données sur des articles (référence, taille, etc.).
- la première table contient les anciennes données.
- la deuxième contient les nouvelles.
Je veux créer une requête qui va prendre les données qui diffèrent entre les deux tables.
Le but est de sélectionner les articles qui ne seront plus dans la nouvelle table.
Au début j'ai cherché à faire un :
SELECT ancienne.* FROM nouvelle, ancienne WHERE nouvelle.id<>ancienne.id
Et puis j'ai réfléchit :
il me faut toutes les références de la vielle table qui ne sont pas dans la nouvelle.
J'ai cherché, et finalement j'ai opté pour cette solution:
il suffit de supprimer les références de l'ancienne table qui sont présentes dans la nouvelle.
Ainsi les références qui restent correspondent à ce que je cherche !
Après encore moultes recherches, j'ai fini par avoir ceci:
DELETE FROM ancienne USING nouvelle,ancienne WHERE nouvelle.id=ancienne.id
Dans la doc MySQL, il y a une autre variation :
DELETE ancienne FROM nouvelle,ancienne WHERE nouvelle.id=ancienne.id
Mais ça ne marche pas !
Que ce soit le USING ou DELETE FROM avec deux tables,
il me renvoit toujours la même erreur:
"something is wrong in your syntax ..."
soit en indiquant le using, soit la virgule...
Hors normalement ça marche avec les version récentes de MySQL...
Peut-être que le fait d'utiliser easyphp 1.6 pose un problème ?
J'ai loupé un truc ?
Merci d'avance,
MikeMadest
PS:
je viens de voir que sur easyphp 1.6 c'est Mysql 3.23,
ce qui explique que ces requetes soient rejetée...
Y'a t'il une autre solution à mon problème ?
