Bedingtes Erstellen von Tabellen in PostgreSQL
In MySQL können Sie mit der CREATE TABLE IF NOT EXISTS-Syntax nur dann eine Tabelle erstellen, wenn dies nicht der Fall ist. Es existiert noch nicht. Dies verhindert eine versehentliche Tabellenneuerstellung, wenn ein Skript mehrmals ausgeführt wird.
PostgreSQL 9.1 und höher
PostgreSQL 9.1 führte die gleiche Funktionalität wie MySQL ein:
CREATE TABLE IF NOT EXISTS myschema.mytable (i integer);
Prä-PostgreSQL 9.1
Für ältere Versionen von PostgreSQL können Sie eine Workaround-Funktion verwenden:
CREATE OR REPLACE FUNCTION create_mytable() RETURNS void LANGUAGE plpgsql AS $func$ BEGIN IF EXISTS (SELECT FROM pg_catalog.pg_tables WHERE schemaname = 'myschema' AND tablename = 'mytable') THEN RAISE NOTICE 'Table myschema.mytable already exists.'; ELSE CREATE TABLE myschema.mytable (i integer); END IF; END $func$;
Funktion zum Erstellen der Tabelle aufrufen:
SELECT create_mytable();
Hinweise:
Das obige ist der detaillierte Inhalt vonWie kann ich eine Tabelle in PostgreSQL nur erstellen, wenn sie noch nicht vorhanden ist?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!