Использование AND в инструкции DELETE FROM - PullRequest
0 голосов
/ 11 февраля 2020

У меня проблемы с использованием оператора AND в инструкции DELETE FROM. Я могу заставить запрос работать успешно, но он не влияет на строки. Если я отредактирую запрос, избавлюсь от оператора AND и его условия, он будет успешно выполнен и удалит эту строку. Вот пример, с которым я работаю.

DELETE FROM classicmodels.employees 
WHERE
    employeeNumber = 1706
    AND employeeNumber = 1707

Почему мой запрос не удаляет строки? Как бы я это исправить? Я ценю любую помощь с этим.

Ответы [ 2 ]

2 голосов
/ 11 февраля 2020

AND означает, что строка должна удовлетворять обоим условиям (подумайте, как ее использовать при сопоставлении разных столбцов). Строка не может иметь два разных значения employeeNumber.

Если вы хотите удалить обоих сотрудников, вам следует использовать OR, а не AND.

Еще лучше использовать IN: WHERE employeeNumber IN (106, 107)

1 голос
/ 11 февраля 2020

Вы, должно быть, имели в виду OR

DELETE 
FROM classicmodels.employees 
WHERE employeeNumber = 1706 OR employeeNumber = 1707;

Можно также записать как

DELETE 
FROM classicmodels.employees 
WHERE employeeNumber IN (1706,1707)
...