2017-05-16 3 views
-2

Ich möchte idempotente Skripte für agile Datenbankentwicklung mit mysql erstellen. Hier ist ein Link, wenn Sie darüber sehen wollen: http://haacked.com/archive/2006/07/05/bulletproofsqlchangescriptsusinginformation_schemaviews.aspx/Falls nicht vorhanden, Suche nach Tabelle nach Name

Drop-Tabelle, wenn vorhanden ist so falsch für diese. Ich bin auf der Suche nach so etwas wie folgt aus:

IF NOT EXISTS 
(
    SELECT * 
    FROM information_schema.tables 
    WHERE table_schema = 'foo' 
    AND table_name = 'customer' 
    LIMIT 1; 
) 
BEGIN 
    CREATE TABLE customer(n int); 
END 

Wenn es hilft, ich bin für eine Funktionalität suchen:

If Not exists something 
then 
    statement1 
    statement2 
    ... 
    statementN 
else 
    do nothing 
fi 
+0

Sie sollten diese in der Lage sein zu tun, in eine gespeicherte Prozedur. – Barmar

+0

Keine Notwendigkeit für eine gespeicherte Prozedur; Dies ist eine grundlegende Funktionalität, die mit 'CREATE TABLE' geliefert wird. OP, lies das Handbuch !! –

+0

Das funktioniert nicht Grenze für das, was ich gefragt habe. Das Skript muss idempotent sein, tut es nicht. Dies ist kein Bulle im Porzellanladen. Wenn es nicht existiert, führen Sie N Schritte aus, nicht nur einen. – FreddyNoNose

Antwort

2
CREATE TABLE IF NOT EXISTS customer 
    (n int); 

Siehe MySQL Manual

+0

Das funktioniert nicht für das, was ich gefragt habe. – FreddyNoNose

Verwandte Themen