PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Bagaimana cara membuat Kunci Utama memiliki digit X di PostgreSQL?

Anda mencampur dua aspek:

  • tipe data mengizinkan nilai certain tertentu untuk kolom PK Anda
  • format Anda memilih untuk ditampilkan

AUTO_INCREMENT adalah konsep MySQL non-standar, SQL Server menggunakan IDENTITY(1,1) , dll.
Gunakan serial kolom di Postgres:

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

Itu adalah tipe semu yang diimplementasikan sebagai integer tipe data dengan gambar default kolom dari SEQUENCE . bilangan bulat cukup besar untuk casing Anda (-2147483648 hingga +2147483647).

Jika Anda benar-benar perlu menerapkan angka dengan maksimum 8 digit desimal, tambahkan CHECK kendala :

CONSTRAINT id_max_8_digits CHECK (user_id BETWEEN 0 AND < 99999999)

Untuk menampilkan nomor dengan cara apa pun yang Anda inginkan - diisi 0 hingga 8 digit, untuk kasus Anda, gunakan to_char() :

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

Itu sangat cepat. Perhatikan bahwa outputnya adalah text sekarang, bukan integer .
SQL Fiddle.

Beberapa hal lain khusus MySQL dalam kode Anda:

  • int(8) :gunakan int .
  • waktu tanggal :gunakan stempel waktu .
  • TYPE=INNODB :lepaskan saja.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Memotong semua tabel dalam database Postgres

  2. Perbedaan antara indeks GiST dan GIN

  3. Kembali dari fungsi dengan parameter OUT

  4. dereferensi array 2d postgres

  5. Menghubungkan ke Postgresql dalam wadah buruh pelabuhan dari luar