PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Nâng cấp cột varchar thành kiểu enum trong postgresql

Bạn cần xác định kiểu truyền sẽ được sử dụng vì không có kiểu truyền mặc định nào khả dụng.

Nếu tất cả các giá trị trong varcharColumn tuân thủ định nghĩa enum, những điều sau sẽ hoạt động:

alter table foo 
  ALTER COLUMN varcharColumn TYPE enum_type using varcharColumn::enum_type;

Cá nhân tôi không thích enums vì chúng khá không linh hoạt. Tôi thích ràng buộc kiểm tra trên cột varchar nếu tôi muốn hạn chế các giá trị trong một cột. Hoặc - nếu danh sách các giá trị thay đổi thường xuyên và sắp tăng lên - một "bảng tra cứu" cũ tốt với ràng buộc khóa ngoại.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Đi thẳng vào đám mây tại CHAR (10)

  2. PostgreSQL Streaming vs Logical Replication - So sánh

  3. Các công cụ mã nguồn mở hàng đầu cho PostgreSQL Migrations

  4. Cách triển khai các ưu tiên trong SQL (postgres)

  5. Làm cách nào để sửa đổi các trường bên trong kiểu dữ liệu PostgreSQL JSON mới?