在 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
。
更好的是使用IN
:WHERE employeeNumber IN (106, 107)
你的意思一定是OR
DELETE
FROM classicmodels.employees
WHERE employeeNumber = 1706 OR employeeNumber = 1707;
也可以写成
DELETE
FROM classicmodels.employees
WHERE employeeNumber IN (1706,1707)
我在 DELETE FROM 语句中使用 AND 运算符时遇到问题。我可以成功查询到 运行,但它不会影响任何行。如果我编辑查询,去掉 AND 运算符及其条件,它将 运行 成功并删除那一行。这是我正在使用的示例。
DELETE FROM classicmodels.employees
WHERE
employeeNumber = 1706
AND employeeNumber = 1707
为什么我的查询没有删除行?我将如何解决这个问题?感谢您对此提供的任何帮助。
AND
表示一行必须同时满足这两个条件(想想你在匹配不同列时如何使用它)。该行不可能有两个不同的 employeeNumber
值。
如果你想删除两个员工,你应该使用 OR
,而不是 AND
。
更好的是使用IN
:WHERE employeeNumber IN (106, 107)
你的意思一定是OR
DELETE
FROM classicmodels.employees
WHERE employeeNumber = 1706 OR employeeNumber = 1707;
也可以写成
DELETE
FROM classicmodels.employees
WHERE employeeNumber IN (1706,1707)