Erstellen von Tabellen in PostgreSQL ohne Duplizierung
In MySQL können Sie mit der Syntax „CREATE TABLE IF NOT EXISTS“ eine Tabelle ohne Generierung erstellen ein Fehler, wenn er bereits vorhanden ist. Dadurch wird sichergestellt, dass das Skript mehrmals ausgeführt werden kann, ohne dass doppelte Tabellen erstellt werden. In PostgreSQL wurde diese Funktion ab Version 9.1 eingeführt.
PostgreSQL 9.1 und höher
Für PostgreSQL 9.1 und höher können Sie die folgende Syntax verwenden, um eine Tabelle zu erstellen :
CREATE TABLE IF NOT EXISTS myschema.mytable (i integer);
PostgreSQL-Versionen vor 9.1
Für frühere Versionen von PostgreSQL gibt es einen Workaround mit einer Funktion:
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$;
Sie können die Funktion dann wie folgt aufrufen:
SELECT create_mytable();
Hinweise:
Das obige ist der detaillierte Inhalt vonWie erstelle ich Tabellen in PostgreSQL ohne Duplikate?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!