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

Đối chiếu utf8_unicode_cs có tồn tại không?

Tôi đã gặp vấn đề tương tự và sau một số Google Googling, có vẻ như MySQL không bao gồm nó. Để "mô phỏng nó", như bạn nói,

1) Để đảm bảo phân biệt chữ hoa chữ thường trong DB:hãy đặt cột bảng thành utf8_bin đối chiếu
Điều này cho phép:

  • CHỌN nghiêm ngặt:SELECT "Joe" sẽ KHÔNG trả về các hàng có "joe" / "joE" / "jOe" / etc
  • chỉ mục UNIQUE nghiêm ngặt:một cột có chỉ mục UNIQUE sẽ coi các trường hợp khác biệt là các giá trị khác nhau. Ví dụ:nếu đối chiếu utf8_unicode_ci được sử dụng, việc chèn "Joe" trên bảng đã có "joe" sẽ gây ra lỗi "Khóa trùng lặp". Nếu sử dụng ut8_bin, việc chèn "Joe" sẽ hoạt động tốt.

2) Để có thứ tự thích hợp trong kết quả:hãy thêm đối chiếu vào truy vấn SQL:

SELECT ... ORDER BY column COLLATE utf8_unicode_ci


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm thế nào để tăng tốc truy vấn sql? Các chỉ số?

  2. MySQL lồng nhau Chọn có thể trả về danh sách kết quả không

  3. nhóm sử dụng mysql theo cột trong điều kiện ở đâu

  4. MySql PHP chọn số lượng các giá trị khác biệt từ dữ liệu được phân tách bằng dấu phẩy (thẻ)

  5. Hàm bind_param () trên một đối tượng không phải | PHP MySQL