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

pg_dumpシリアルデータ型の問題

    docs から :

    データ型smallserialserial およびbigserial は真の型ではありませんが、一意の識別子列を作成するための表記上の便宜にすぎません(他のデータベースでサポートされているAUTO_INCREMENTプロパティと同様)。現在の実装では、以下を指定します:

    CREATE TABLE tablename (
        colname SERIAL
    );
    

    以下を指定するのと同じです:

    CREATE SEQUENCE tablename_colname_seq;
    CREATE TABLE tablename (
        colname integer NOT NULL DEFAULT nextval('tablename_colname_seq')
    );
    ALTER SEQUENCE tablename_colname_seq OWNED BY tablename.colname;
    

    したがって、整数列を作成し、そのデフォルト値がシーケンスジェネレーターから割り当てられるように配置しました。 NULL値を挿入できないようにするために、NOTNULL制約が適用されます。 (ほとんどの場合、重複する値が誤って挿入されるのを防ぐために、UNIQUEまたはPRIMARY KEY制約を添付することもできますが、これは自動ではありません。)最後に、シーケンスは列に「所有者」としてマークされるため、列またはテーブルが削除されると削除されます。



    1. DBの重複エントリを修正(MySQLのバグ)

    2. Laravelでデータベースドライバーとしてmysqliを使用することは可能ですか?

    3. MySqli:データベースを作成することは可能ですか?

    4. mysqlの右テーブルの条件を使用した左結合