删除表(如果存在于 MariaDB 中)

发布于

在MariaDB中,我们可以使用语句的子句在删除表之前检查表是否存在。IF EXISTS``DROP TABLE

示例

下面是一个演示示例:

DROP TABLE IF EXISTS t1;

该语句将删除一个名为(如果存在)的表。t1

当我运行该语句时,该表已经存在,因此它被删除,我收到以下消息:

Query OK, 0 rows affected (0.156 sec)

当我再次运行该语句时(在它已被删除之后),我收到以下消息:

Query OK, 0 rows affected, 1 warning (0.028 sec)

所以没有错误,但我确实收到了警告。

让我们看一下警告:

SHOW WARNINGS;

输出:

+-------+------+------------------------+
| Level | Code | Message                |
+-------+------+------------------------+
| Note  | 1051 | Unknown table 'zap.t1' |
+-------+------+------------------------+

因此,警告告诉我们该表不存在,但至少它不是错误。

以下是我们不使用时发生的情况:IF EXISTS

DROP TABLE t1;

输出:

ERROR 1051 (42S02): Unknown table 'zap.t1'

这次我们收到一个错误。

另请参阅 4 种检查 MariaDB 中是否存在表的方法 如果您只想检查表是否存在而不删除它。