PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Jak sprawić, by klucz podstawowy miał X cyfr w PostgreSQL?

Mieszasz dwa aspekty:

  • typ danych zezwalanie na określone wartości dla Twojej kolumny PK
  • format wybrałeś do wyświetlania

AUTO_INCREMENT jest niestandardową koncepcją MySQL, SQL Server używa IDENTITY(1,1) itp.
Użyj serial kolumna w Postgresie:

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

To jest pseudotyp zaimplementowany jako integer typ danych z domyślnym rysunkiem kolumny z dołączonego SEKWENCJA . liczba całkowita jest wystarczająco duży dla Twojego przypadku (-2147483648 do +2147483647).

Jeśli naprawdę potrzebujesz wymusić liczby z maksymalnie 8 cyframi dziesiętnymi, dodaj SPRAWDŹ ograniczenie :

CONSTRAINT id_max_8_digits CHECK (user_id BETWEEN 0 AND < 99999999)

Aby wyświetlić numer w dowolny sposób - od 0 do 8 cyfr, w Twoim przypadku użyj to_char() :

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

To bardzo szybko. Zauważ, że wyjściem jest text teraz, nie liczba całkowita .
Skrzypce SQL.

Kilka innych rzeczy jest specyficznych dla MySQL w twoim kodzie:



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Akcje GitHub:Jak połączyć się z Postgresem w Akcji GitHub

  2. Jak używać komponentu Java Embedded PostgreSQL Server jako oddzielnej usługi?

  3. Dlaczego zabezpieczenia na poziomie wiersza nie są włączone dla widoków Postgres?

  4. Zaktualizuj wartości kolumn tabeli na podstawie logiki warunkowej

  5. PostgreSQL LIKE wariacje wydajności zapytań