sql >> Database teknologi >  >> RDS >> Mysql

SLIP TABEL HVIS FINNES i MySQL

I MySQL kan vi bruge IF EXISTS klausul i DROP TABLE sætning for at kontrollere, om tabellen eksisterer eller ej, før den slettes.

Eksempel

Her er et eksempel til demonstration:

DROP TABLE IF EXISTS t1;

Denne sætning udlader en tabel kaldet t1 hvis den findes.

Da jeg kørte den erklæring, eksisterede tabellen allerede, så den blev slettet, og jeg fik følgende besked:

Query OK, 0 rows affected (0.00 sec)

Da jeg kørte erklæringen igen (efter at den allerede var blevet slettet), fik jeg følgende besked:

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

Så der var ingen fejl, men jeg fik en advarsel.

Lad os tage et kig på advarslen:

SHOW WARNINGS;

Resultat:

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

Advarslen fortæller os, at tabellen ikke eksisterer, men det er ikke en fejl.

Her er, hvad der sker, når vi ikke bruger IF EXISTS :

DROP TABLE t1;

Resultat:

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

Denne gang får vi en fejl.

Se også 5 måder at kontrollere, om en tabel eksisterer i MySQL, hvis du blot vil kontrollere, om en tabel eksisterer uden at slippe den.


  1. Er der en måde at få rækkenummeret i Mysql som rækkenummeret i oracle

  2. Beregnet kolonne i EF-kode først

  3. psql:FATAL:Peer-godkendelse mislykkedes for brugerudvikler

  4. SQL Server 2016:Opret en tabel fra et SQL-script