2011-01-20 4 views
5

Je sais qu'il y a plus d'une question qui correspond à cela, mais je suis relativement nouveau dans mysql, et je n'arrive pas à faire ce travail en utilisant des sous-requêtes ou le mot clé USING, plus je trouve mysql on line un mystère complet.Impossible de joindre la requête mysql delete au travail

j'ai commencé à essayer de construire ma requête SUPPRIMER l'aide d'une requête SELECT comme ma base et a été en mesure d'obtenir toutes les lignes que je voulais supprimer:

select * 
from writings_tags_link 
join writing_tags on writing_tags.id = writings_tags_link.tag_id 
where writing_tags.tag = 'tag one' 

puis venez de remplacer tout sélectionner avec SUPPR si:

delete 
from writings_tags_link 
join writing_tags on writing_tags.id = writings_tags_link.tag_id 
where writing_tags.tag = 'tag one' 

Je suppose à la fois le message d'erreur et d'autres messages similaires que vous ne pouvez pas utiliser « ON » pour joindre des tables dans une requête de suppression, vous devez utiliser USING une sous requête. La requête I construit avec une erreur en utilisant des rendements vraiment étrange, d'abord la requête:

DELETE 
FROM writings_tags_link 
USING writing_tags_link INNER JOIN writing_tags 
WHERE writing_tags.id = writings_tags_link.tag_id 
AND writing_tags.tag ='tag one' 

erreur:

#1109 - Unknown table 'writings_tags_link' in MULTI DELETE 

Ce tableau existe, évidemment, ma requête de sélection initiale a donné les résultats souhaités. Toute aide/explication serait très appréciée!

Veuillez garder à l'esprit, j'essaie seulement de supprimer les données dans la table de liaison.

Répondre

8

Vos informations sont incorrectes sur nécessitant l'utilisation du mot-clé dans la syntaxe USING SUPPRIMER lors de l'utilisation JOIN - le documentation provides examples in the multi-delete section:

DELETE wtl 
    FROM WRITINGS_TAGS_LINK wtl 
    JOIN WRITING_TAGS wt ON wt.id = wtl.tag_id 
WHERE wt.tag = 'tag one' 
+1

oh je vois, je n'ai pas ajouter quoi supprimer! Comme je l'ai dit, j'apprends :) Merci, OMG Ponies! – JoeM05

+0

cela m'a aidé dans mon noobery aussi bien :) –