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

PostgreSQLで主キーにX桁を含めるにはどうすればよいですか?

    あなたは2つの側面を混ぜ合わせています:

    • データ型 特定のを許可する PK列用
    • フォーマット 表示用に選択した

    AUTO_INCREMENT はMySQLの非標準の概念であり、SQLServerはIDENTITY(1,1)を使用します など。
    <を使用します。 code>シリアル Postgresの列:

    CREATE TABLE users (
      user_id serial PRIMARY KEY
    , ...
    )
    

    これは、 integerとして実装された疑似型です。 添付された SEQUENCE<からの列のデフォルトの描画を含むデータ型/ code> 。 integer あなたのケースに十分な大きさです(-2147483648から+2147483647)。

    最大8桁の数字を強制する必要がある場合は、チェック 制約

    CONSTRAINT id_max_8_digits CHECK (user_id BETWEEN 0 AND < 99999999)
    

    数字を任意の方法で表示するには(0から8桁まで)、この場合は to_char()

    SELECT to_char(user_id, '00000000') AS user_id_8digit
    FROM   users;
    

    それはとても速いです。出力はtextであることに注意してください 現在、 integerではありません 。
    SQLFiddle。

    他のいくつかのことは、コード内でMySQL固有です:



    1. ブラウザのJavaScriptからSQLServerデータベースに接続するにはどうすればよいですか?

    2. 子を選択するためのmySQLクエリ

    3. 変異テーブルの回避策としてのOracle

    4. MariaDBでのRTRIM_ORACLE()のしくみ