为什么删除不存在的表IF EXISTS
会引起警告?
CREATE DATABASE `test`;
USE `test`;
DROP TABLE IF EXISTS `nonexistent_table`;
SHOW WARNINGS;
未知表test.nonexistent_table
这个语句的全部意义不就是首先检查它是否存在,然后接受它可能不存在吗?
不同的是如果它不给你一个错误而只是警告:
<>以前✓关卡|代码|消息:---- | ---: | :----------------------------------------------注释| 1051 |未知表'db_2134513036.nonexistent_table'DROP TABLE IF EXISTS `nonexistent_table`; SHOW WARNINGS;
DROP TABLE `nonexistent_table`; SHOW WARNINGS;
未知表'db_2134513036.nonexistent_table'
db<此处小提琴>此处小提琴>
如您所见,第一个语句运行成功,但第二个语句失败。