Я знаю, что есть более одного вопроса, который соответствует этому, но я относительно новичок в mysql, и я Кажется, не удается выполнить эту работу с помощью дополнительных квестов или ключевого слова USING, плюс я нахожу mysql on line docs полной загадкой.
Я начал пытаться создать свой запрос DELETE, используя запрос SELECT в качестве основы, и смог получить все строки, которые я хотел удалить:
select *
from writings_tags_link
join writing_tags on writing_tags.id = writings_tags_link.tag_id
where writing_tags.tag = 'tag one'
, а затем просто заменил select all на DELETE так:
delete
from writings_tags_link
join writing_tags on writing_tags.id = writings_tags_link.tag_id
where writing_tags.tag = 'tag one'
Я так понимаю как из сообщения об ошибке, так и из других подобных сообщений, что вы не можете использовать «ON» для объединения таблиц в запросе на удаление, вы должны использовать USING или подзапрос. Запрос, который я построил с помощью USING, возвращает действительно странную ошибку, сначала запрос:
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'
error:
#1109 - Unknown table 'writings_tags_link' in MULTI DELETE
Эта таблица действительно существует, очевидно, мой исходный запрос выбора вернул желаемые результаты. Мы будем очень признательны за любую помощь / объяснение!
Имейте в виду, я пытаюсь удалить только данные в таблице ссылок.