在 DELETE FROM 语句中使用 AND

Using AND in a DELETE FROM statement

我在 DELETE FROM 语句中使用 AND 运算符时遇到问题。我可以成功查询到 运行,但它不会影响任何行。如果我编辑查询,去掉 AND 运算符及其条件,它将 运行 成功并删除那一行。这是我正在使用的示例。

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

为什么我的查询没有删除行?我将如何解决这个问题?感谢您对此提供的任何帮助。

AND 表示一行必须同时满足这两个条件(想想你在匹配不同列时如何使用它)。该行不可能有两个不同的 employeeNumber 值。

如果你想删除两个员工,你应该使用 OR,而不是 AND

更好的是使用INWHERE employeeNumber IN (106, 107)

你的意思一定是OR

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

也可以写成

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