+------------+--------+----------+-------+-----+--------+
| 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之前删除的数据不存在。
但我得到了OK的结果。 为什么会这样?
在这种情况下。 为什么这个查询返回“OK”?
query OK
只是表示查询执行时没有错误(语法错误或运行时错误)--这里就是这种情况:查询没有失败,只是没有找到任何要删除
的记录。
但是,您可以在消息的其余部分中看到,查询没有影响任何行; 这是一个delete
语句,意味着没有删除任何行。