sql >> Database >  >> RDS >> PostgreSQL

Postgres:hoe samengestelde sleutels te maken?

Uw samengestelde PRIMARY KEY specificatie doet al wat je wilt. Laat de regel weg die u een syntaxisfout geeft en laat de overbodige CONSTRAINT weg (al geïmpliceerd), ook:

 CREATE TABLE tags
      (
               question_id INTEGER NOT NULL,
               tag_id SERIAL NOT NULL,
               tag1 VARCHAR(20),
               tag2 VARCHAR(20),
               tag3 VARCHAR(20),
               PRIMARY KEY(question_id, tag_id)
      );

NOTICE:  CREATE TABLE will create implicit sequence "tags_tag_id_seq" for serial column "tags.tag_id"
    NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index "tags_pkey" for table "tags"
    CREATE TABLE
    pg=> \d tags
                                         Table "public.tags"
       Column    |         Type          |                       Modifiers       
    -------------+-----------------------+-------------------------------------------------------
     question_id | integer               | not null
     tag_id      | integer               | not null default nextval('tags_tag_id_seq'::regclass)
     tag1        | character varying(20) |
     tag2        | character varying(20) |
     tag3        | character varying(20) |
    Indexes:
        "tags_pkey" PRIMARY KEY, btree (question_id, tag_id)


  1. Databasefailover voor WordPress-websites

  2. Wat te controleren als het PostgreSQL-geheugengebruik hoog is?

  3. Hoe de RPAD()-functie werkt in MySQL

  4. Basisbeheervergelijking tussen Oracle, MSSQL, MySQL, PostgreSQL