Heim >Datenbank >MySQL-Tutorial >Wie kann ich PostgreSQL-Tabellen sicher und ohne Fehler durch doppelte Tabellen erstellen?
PostgreSQL: Handhabung der Tabellenerstellung mit „CREATE TABLE IF NOT EXISTS“
In PostgreSQL ist die Verwendung von „CREATE TABLE IF NOT EXISTS“ ermöglicht die Erstellung von Tabellen ohne das Risiko einer doppelten Tabellenerstellung. Diese Funktion wurde in PostgreSQL 9.1 eingeführt und erleichtert das Erstellen von Tabellen auf eine Weise, die sicherstellt, dass sie vorhanden sind, ohne manuell auf ihre Anwesenheit prüfen zu müssen.
Syntax für PostgreSQL 9.1 und höher
Um eine Tabelle mit „CREATE TABLE IF NOT EXISTS“ in PostgreSQL 9.1 und späteren Versionen zu erstellen, geben Sie einfach den Befehl als an folgt:
CREATE TABLE IF NOT EXISTS myschema.mytable ( i integer );
Hinweis:Ersetzen Sie „myschema“ und „mytable“ durch die gewünschten Schema- und Tabellennamen.
Problemumgehung für ältere Versionen
Für PostgreSQL-Versionen vor 9.1 kann eine Workaround-Funktion verwendet werden, um eine ähnliche Funktionalität zu erreichen. Erstellen Sie die folgende 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$;
Rufen Sie die Funktion nach Bedarf auf:
SELECT create_mytable();
Hinweise:
Das obige ist der detaillierte Inhalt vonWie kann ich PostgreSQL-Tabellen sicher und ohne Fehler durch doppelte Tabellen erstellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!