PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Postgres:Как да направя композитни ключове?

Вашето съединение PRIMARY KEY спецификацията вече прави това, което искате. Пропуснете реда, който ви дава синтактична грешка, и пропуснете излишното CONSTRAINT (вече се подразбира) също:

 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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Правилно вмъкване на име на таблица

  2. Най-добрият начин да инсталирате hstore на множество схеми в база данни на Postgres?

  3. Избиране на всички записи с SQL LIMIT и OFFSET заявка

  4. clojure.java.jdbc мързелива заявка

  5. Как да декларирате променлива в заявка на PostgreSQL