2013-11-22 16 views
74

Jestem zaskoczony, nie wiem jak to zrobić.Jeśli tabela istnieje, upuść, a następnie utwórz go, jeśli nie istnieje, po prostu stwórz go

Zasadniczo chcę tylko utworzyć tabelę, ale jeśli istnieje, musi zostać usunięta i ponownie utworzona, a nie przycięta, ale jeśli nie istnieje, po prostu ją utwórz.

Czy ktoś mógłby pomóc?

Dzięki George

+0

@Shomz, Tego właśnie chcieli. Jednak istnienie tego pytania i 20k poglądów na tę stronę dowodzi, że jest to tak proste, jak konwersja angielskiego na grecki. – Pacerier

+2

@Pacerier Nie można się zgodzić na więcej: 'διαγραφή πίνακα, εφόσον υπάρχει'. – Shomz

+0

@Shomz, Wystąpił błąd gramatyczny. – Pacerier

Odpowiedz

174

Wystarczy umieścić DROP TABLE IF EXISTS `tablename`; przed swoim oświadczeniem CREATE TABLE.

To polecenie usuwa tabelę, jeśli istnieje, ale nie spowoduje błędu, jeśli tak się nie stanie.

+0

Dzięki! Działa to również dla listy tabel lub widoków! 'DROP TABLE IF EXISTS 'table1', 'table2';' i 'DROP VIEW IF EXISTS 'view1', 'view2';' PS- Jakich czarownic używasz do umieszczenia w kodzie inline !? – Campbeln

+1

@Campbeln Wystarczy podwoić backticks przed i po segmencie kodu. Pojedyncze backticks są następnie wyświetlane dosłownie. –

26

Wystarczy użyć DROP TABLE IF EXISTS:

DROP TABLE IF EXISTS `foo`; 
CREATE TABLE `foo` (...); 

spróbować przeszukać MySQL documentation pierwsze, jeśli masz jakiekolwiek inne problemy.

Powiązane problemy