ホームページ >データベース >mysql チュートリアル >PostgreSQL で重複のないテーブルを作成するにはどうすればよいですか?
重複せずに PostgreSQL でテーブルを作成する
MySQL では、「CREATE TABLE IF NOT EXISTS」構文を使用して、生成せずにテーブルを作成できます。すでに存在する場合はエラー。これにより、重複したテーブルを作成せずにスクリプトを複数回実行できるようになります。 PostgreSQL では、この機能はバージョン 9.1 以降で導入されました。
PostgreSQL 9.1 以降
PostgreSQL 9.1 以降では、次の構文を使用してテーブルを作成できます。 :
CREATE TABLE IF NOT EXISTS myschema.mytable (i integer);
以前の PostgreSQL バージョン9.1 へ
PostgreSQL の以前のバージョンの場合、次の関数を使用した回避策があります。
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$;
この関数を次のように呼び出すことができます。以下:
SELECT create_mytable();
注:
以上がPostgreSQL で重複のないテーブルを作成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。