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

Postgresql mengubah jenis kolom dari int ke UUID

Anda tidak bisa hanya melemparkan int4 ke uuid; itu akan menjadi uuid yang tidak valid, dengan hanya 32 bit yang disetel, 96 bit yang tinggi menjadi nol.

Jika Anda ingin membuat UUID baru untuk menggantikan bilangan bulat seluruhnya, dan jika tidak ada referensi kunci asing yang ada untuk bilangan bulat tersebut, Anda dapat menggunakan gips palsu yang benar-benar menghasilkan nilai baru.

Jangan jalankan ini tanpa cadangan data Anda. Itu secara permanen membuang nilai-nilai lama di colA .

ALTER TABLE tableA ALTER COLUMN colA SET DATA TYPE UUID USING (uuid_generate_v4());

Pendekatan yang lebih baik biasanya menambahkan kolom uuid, lalu perbaiki referensi kunci asing untuk mengarah ke sana, dan terakhir jatuhkan kolom aslinya.

Anda perlu menginstal modul UUID:

CREATE EXTENSION "uuid-ossp";

Kutipan itu penting.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara menggunakan EXECUTE FORMAT ... MENGGUNAKAN dalam fungsi postgres

  2. Python/postgres/psycopg2:mendapatkan ID baris yang baru saja dimasukkan

  3. Hitung Usia dalam Tahun di PostgreSQL

  4. Ulangi tabel dengan PL/pgSQL di Postgres 9.0+

  5. Metode org.postgresql.jdbc4.Jdbc4Connection.isValid(int) belum diterapkan