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
Sie sollten diese in der Lage sein zu tun, in eine gespeicherte Prozedur. – Barmar
Keine Notwendigkeit für eine gespeicherte Prozedur; Dies ist eine grundlegende Funktionalität, die mit 'CREATE TABLE' geliefert wird. OP, lies das Handbuch !! –
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