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

Tôi nhận được kết quả kép từ truy vấn mysql khi sử dụng các ký tự quốc tế, tức là Å / Ä =A &Ö =O,

"Vấn đề" của bạn là utf8_unicode_ci đối chiếu. Sự đối chiếu đó thực hiện "mở rộng ký tự", nghĩa là Umlauts và các ký tự cơ sở của chúng được coi là giống nhau ngay cả trong một = sự so sánh :

A = Ä
O = Ö
...

Ví dụ thứ hai trên trang hướng dẫn sử dụng mySQL này giải thích sự cố: 9.1.7.8. Ví dụ về Hiệu ứng của Đối chiếu

Những gì bạn sẽ phải làm là chuyển sang đối chiếu phân biệt giữa âm sắc và ký tự cơ sở (ví dụ:utf8_general_ci hoặc utf8_general_bin ) hoặc chỉ chuyển sang đối chiếu khác khi thực hiện so sánh:

select * from users where username like 'Björn' COLLATE utf8_general_ci;

điều này rõ ràng là chậm hơn, vì chuyển đổi đối chiếu phải được thực hiện cho từng bản ghi trong khi truy vấn.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MAX () so với GREATEST () trong MySQL:Sự khác biệt là gì?

  2. Chuyển đổi ngày giờ JS thành ngày giờ MySQL

  3. Hộp kết hợp xếp tầng của biểu mẫu Access không hiển thị gì trong menu thả xuống

  4. Tạo lỗi kích hoạt:cú pháp không hợp lệ

  5. Phân vùng bảng dữ liệu bóng đá hàng tỷ hàng sử dụng ngữ cảnh dữ liệu