sql >> Databasteknik >  >> RDS >> PostgreSQL

Hur får man den primära nyckeln att ha X-siffror i PostgreSQL?

Du blandar två aspekter:

  • datatypen tillåter vissa värden för din PK-kolumn
  • formatet du valde för visning

AUTO_INCREMENT är ett icke-standardiserat koncept för MySQL, SQL Server använder IDENTITY(1,1) , etc.
Använd en seriell kolumn i Postgres:

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

Det är en pseudotyp implementerad som heltal datatyp med en kolumnstandardritning från en bifogad SEKVENS . heltal är lätt tillräckligt stor för ditt fall (-2147483648 till +2147483647).

Om du verkligen behöver tvinga fram siffror med högst 8 decimalsiffror, lägg till en KONTROLL begränsning :

CONSTRAINT id_max_8_digits CHECK (user_id BETWEEN 0 AND < 99999999)

Använd to_char() :

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

Det är väldigt snabbt. Observera att utdata är text nu, inte heltal .
SQL-fiol.

Ett par andra saker är MySQL-specifika i din kod:



  1. Storskaliga tillägg och raderingar Många-till-många-relationer i Entity Framework

  2. Kombinera flera rader eller resultat med samma titel för att bilda rullgardinsmenyer med PHP och MySQL

  3. utföra ett cronjob exakt en gång

  4. Hur man tar reda på antalet siffror i ett orakelnummer