PostgreSQL で重複のないテーブルを作成するにはどうすればよいですか?
Jan 01, 2025 am 01:18 AM重複せずに 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();
ログイン後にコピー
注:
- 構文がテーブルのスキーマと名前の大文字と小文字の区別と一致していることを確認してください。
- 次の点に注意してください。 pg_tables には実際のテーブルのみが含まれるため、識別子が他のテーブルによって占有される可能性があります。オブジェクト。
- 関数を実行するロールに必要なテーブル作成権限がない場合は、SECURITY DEFINER 句を使用してそれらの権限を付与することを検討してください。
以上がPostgreSQL で重複のないテーブルを作成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

人気の記事
スプリットフィクションを打ち負かすのにどれくらい時間がかかりますか?
3週間前
By DDD
レポ:チームメイトを復活させる方法
3週間前
By 尊渡假赌尊渡假赌尊渡假赌
ハローキティアイランドアドベンチャー:巨大な種を手に入れる方法
3週間前
By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.説明されたエネルギー結晶と彼らが何をするか(黄色のクリスタル)
1週間前
By 尊渡假赌尊渡假赌尊渡假赌

人気の記事
スプリットフィクションを打ち負かすのにどれくらい時間がかかりますか?
3週間前
By DDD
レポ:チームメイトを復活させる方法
3週間前
By 尊渡假赌尊渡假赌尊渡假赌
ハローキティアイランドアドベンチャー:巨大な種を手に入れる方法
3週間前
By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.説明されたエネルギー結晶と彼らが何をするか(黄色のクリスタル)
1週間前
By 尊渡假赌尊渡假赌尊渡假赌

ホットな記事タグ

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック
Gmailメールのログイン入り口はどこですか?
7135
9


Java チュートリアル
1534
14


Laravel チュートリアル
1257
25


PHP チュートリアル
1205
29


CakePHP チュートリアル
1155
46



Alter Tableステートメントを使用してMySQLのテーブルをどのように変更しますか?

Linuxでmysqlを実行します(phpmyAdminを使用してポッドマンコンテナを使用して/なし)

MACOSで複数のMySQLバージョンを実行する:ステップバイステップガイド

共通の脆弱性(SQLインジェクション、ブルートフォース攻撃)に対してMySQLを保護するにはどうすればよいですか?

MySQL接続用のSSL/TLS暗号化を構成するにはどうすればよいですか?
