【问题标题】:Why does this Query return "OK"? about "delete"为什么这个查询返回“OK”?关于“删除”
【发布时间】:2020-06-11 11:51:57
【问题描述】:
+------------+--------+----------+-------+-----+--------+
| customerid | id     | password | level | age | name   |
+------------+--------+----------+-------+-----+--------+
|          1 | L1234  | 12345A   | J1    |  24 |        |
|          2 | L12134 | 12345a   | J1    |  23 | SYPARK |
+------------+--------+----------+-------+-----+--------+
2 rows in set (0.00 sec)

mysql> DELETE FROM customer WHERE age='23';

1。查询正常,1 行受影响(0.00 秒)

mysql> DELETE FROM customer WHERE age='23';

2。查询正常,0 行受影响(0.00 秒)

在这种情况下。为什么这个查询返回“OK”?这是2号。

我认为它不起作用(得到错误)。因为在 Query number of 2 之前删除的数据不存在。

但我得到了 OK 的结果。为什么会这样?

【问题讨论】:

标签: mysql sql database where-clause sql-delete


【解决方案1】:

在这种情况下。为什么这个查询返回“OK”?

Query OK 只是表示查询执行时没有错误(语法错误或运行时错误)——这里就是这种情况:查询没有失败,只是没有找到delete 的任何记录。

但是,您可以在消息的其余部分中看到,查询没有影响任何行;这是DELETE 语句,表示没有删除任何行。

【讨论】:

  • 谢谢!我很开心。现在我可以理解了!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-09-11
  • 2021-08-13
  • 1970-01-01
相关资源
最近更新 更多