Erstellen von Tabellen mit „CREATE TABLE IF NOT EXISTS“ in PostgreSQL
Es besteht die Möglichkeit, eine Tabelle nur zu erstellen, wenn sie noch nicht vorhanden ist Eine nützliche Funktion, um sicherzustellen, dass Tabellen nur einmal erstellt werden, auch wenn ein Skript mehrmals ausgeführt wird.
In MySQL ist dies möglich mit der Anweisung implementiert werden:
CREATE TABLE IF NOT EXISTS foo ...;
PostgreSQL
In PostgreSQL-Versionen 9.1 und höher wird die Syntax „CREATE TABLE IF NOT EXISTS“ unterstützt:
CREATE TABLE IF NOT EXISTS myschema.mytable (i integer);
Problemumgehung für ältere Menschen Versionen
Für PostgreSQL-Versionen vor 9.1 kann eine Funktion verwendet werden, um die gleiche Funktionalität zu erreichen:
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$;
Diese Funktion kann nur dann mehrmals aufgerufen werden, um die Tabelle zu erstellen, wenn sie vorhanden ist existiert nicht.
Hinweise:
Das obige ist der detaillierte Inhalt vonWie erstelle ich eine Tabelle in PostgreSQL nur, wenn sie noch nicht vorhanden ist?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!