pb DELETE [Mysql] - SQL/NoSQL - Programmation
Marsh Posté le 01-02-2003 à 11:57:57
là faut faire deux requêtes :
DELETE FROM visu WHERE v_an IS NULL
DELETE FROM annonces WHERE an_id IS NULL
Marsh Posté le 01-02-2003 à 12:08:36
euh, non ça fait pas du tout la même chose, la jointure elle est pas là pour faire jolie
Marsh Posté le 01-02-2003 à 13:40:20
ta jointure se fait sur la clause visu.v_an = annonces.an_id
et ton WHERE sur annonces.an_id IS NULL
j'en déduis donc que v_an ET an_id sont NULL dont a effacer dans chacune des tables
donc il faut bien effacer chaque ligne des deux tables ou le champ est null
de toute façon il faudra forcément passer par deux requêtes DELETE, les foreign keys sont pas supportées sans INNODB
Marsh Posté le 01-02-2003 à 13:42:59
non, c'est pas exactement ça.
une autre version de ma requete plus claire (mais avec une sous requete) :
SELECT * FROM visu WHERE visu.v_an NOT IN (SELECT DISTINCT an_id FROM annonces);
Marsh Posté le 01-02-2003 à 11:51:28
J'ai cette requete qui fonctionne bien :
SELECT visu.v_an, annonces.an_id FROM visu LEFT JOIN annonces ON visu.v_an = annonces.an_id WHERE annonces.an_id IS NULL
Maintenant je veux faire la même chose avec un DELETE pour supprimer tous les résultats mais bien sûr ça marche pas. y'a quoi comme solution ? (compatible mysql 3.xx !)