Проблема удаляя строки с помощью оставленный внешнее объединение в mysql

Много людей не знает или использует отладчик для, он является самым полным - Т.Е. просто используйте его для остановки кода, но щелчка правой кнопкой по красному кругу и существует намного больше опций, таких как повреждение при условии, выполненный код повреждения.

Также можно изменить значения переменных во времени выполнения с помощью отладчика, который является замечательной особенностью - сохраняет повторно выполняющийся код для фиксации глупой логической ошибки и т.д.

8
задан James 8 December 2009 в 17:19
поделиться

3 ответа

Вы пытаетесь удалить из нескольких таблиц в одном запросе с этим синтаксисом. Попробуйте что-нибудь более похожее (и это всего лишь пример, не предназначенный для оптимизации или чего-то еще):

DELETE FROM tbl_imagelabel
WHERE label_id IN (
    SELECT tbl_imagelabel.label_id 
    FROM tbl_imagelabel 
    LEFT OUTER JOIN tbl_image 
        ON tbl_imagelabel.label_id = tbl_image.label_id 
    WHERE tbl_image.label_id IS NULL
)
10
ответ дан 5 December 2019 в 05:03
поделиться

Я считаю, что это делает то же самое без явного соединения.

DELETE FROM tbl_imagelabel 
WHERE label_id NOT IN (SELECT label_id FROM tbl_image)
6
ответ дан 5 December 2019 в 05:03
поделиться
DELETE FROM tbl_imagelabel 
where label_id IN
(
SELECT tbl_imagelabel.label_id FROM tbl_imagelabel 
LEFT OUTER JOIN tbl_image 
ON tbl_imagelabel.label_id = tbl_image.label_id WHERE tbl_image.label_id is NULL
)

при условии, что label_id является уникальным первичным ключом.

4
ответ дан 5 December 2019 в 05:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: