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'
今回はエラーが発生します。
テーブルを削除せずにテーブルが存在するかどうかを確認したいだけの場合は、MariaDBにテーブルが存在するかどうかを確認する4つの方法も参照してください。