sql >> データベース >  >> RDS >> PostgreSQL

主キーを整数からシリアルに変換する方法は?

    serial疑似です 実際のデータ型ではなく、データ型。 integer その下に、いくつかの追加のDDLコマンドが自動的に実行されます:

    1. シーケンスを作成します(デフォルトでは名前が一致します)。
    2. 列をNOT NULLに設定します そして、そのシーケンスから描画するデフォルト。
    3. 列をシーケンスに「所有」させます。

    詳細:

    • Postgresのシリアル主キー列を使用するテーブルの名前を安全かつクリーンに変更しますか?

    bigserial 同じで、bigintを中心に構築されています 桁。 bigintが必要です 、しかしあなたはすでにそれを達成しました。既存のserialを変換するには bigserialへの列 (またはsmallserial )、あなたがする必要があるのはALTERすることだけです 列のデータ型。シーケンスは通常、bigintに基づいています 、したがって、同じシーケンスを任意のintegerに使用できます タイプ。

    bigintを「変更」するには bigserialに またはinteger serialに 、残りは手作業で行う必要があります:

    • フィールド(レコードのIDではない)へのPostgreSQLシーケンスの作成

    実際のデータ型は引き続きinteger / bigint 。 pgAdminのような一部のクライアントは、データ型serialを表示します リバースエンジニアリングされたCREATE TABLE スクリプト、serialのすべての基準 満たされています。




    1. PostgreSQLの時間のタイムスタンプの違い

    2. WP-CLIを使用したWordPressのインストール

    3. PostgreSQLでのisnumeric()

    4. MySQLで新しいユーザーを作成して権限を付与する方法