PostgreSQL
 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 , просто трябва да направите останалото на ръка:

  • Създаване на PostgreSQL последователност към поле (което не е ID на записа)

Действителният тип данни все още е integer / bigint . Някои клиенти като pgAdmin ще показват типа данни serial в обратно проектирания CREATE TABLE скрипт, ако всички критерии за serial са изпълнени.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Вграден Postgres за пролетни тестове за зареждане

  2. Анотацията на Spring Data @CreatedDate не работи за мен

  3. Съпоставяне на сериен тип PostgreSQL с анотации за хибернация

  4. Как да получите време за създаване на база данни в PostgreSQL 9.0?

  5. Cloud9 постгрес