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

Ràng buộc giá trị duy nhất trên nhiều cột

Bạn không thể dễ dàng làm điều này. least() / greatest() cách tiếp cận sẽ không hoạt động trong mọi trường hợp.

Postgres có một số thao tác lập chỉ mục ưa thích. Nhưng cách tốt nhất là sử dụng bàn nối. Ví dụ:

create table userPhones (
    userPhoneId bigint primary key ,
    userId bigint references users(id),
    phone_counter int check (phone_counter in (1, 2)),
    phone varchar,
    unique (userId, phone_counter),
    unique(phone)
);

Điều này cũng giới hạn số lượng số điện thoại cho mỗi người dùng là 2.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Rails - SQLite3 ::SQLException:near USING:lỗi cú pháp

  2. PostgreSQL lặp lại các chức năng bên ngoài. Điều đó có thể không?

  3. Cách tìm lần xuất hiện đầu tiên và cuối cùng của một ký tự cụ thể bên trong một chuỗi trong PostgreSQL

  4. lỗi:ALTER TYPE ... ADD không thể chạy bên trong khối giao dịch

  5. Làm cách nào để loại bỏ chỉ mục varchar_pattern_ops trong quá trình di chuyển django (1.8)?