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

Sử dụng khóa chính gợi cảm có dấu trong MySQL

Ảnh ghép . Bạn có hai lựa chọn, không phải ba:

utf8_bin coi tất cả những thứ này là khác nhau :demandédemandéDemandé .

utf8_..._ci (thường là utf8_general_ci hoặc utf8_unicode_ci ) coi tất cả những điều này là giống nhau :demandédemandéDemandé .

Nếu bạn chỉ muốn phân biệt chữ hoa chữ thường (demandé =demandé , nhưng không khớp với Demandé ), bạn không gặp may.

Nếu bạn chỉ muốn có độ nhạy trọng âm (demandé =Demandé , nhưng không khớp với demandé ), bạn không gặp may.

Tuyên bố . Cách tốt nhất để làm bất cứ điều gì bạn chọn:

CREATE TABLE (
    name VARCHAR(...)  CHARACTER SET utf8  COLLATE utf8_...  NOT NULL,
    ...
    PRIMARY KEY(name)
)

Không nhanh chóng thay đổi đối chiếu . Điều này sẽ không sử dụng chỉ mục (nghĩa là sẽ chậm) nếu đối chiếu khác nhau trong name :

WHERE name = ... COLLATE ...

BINARY . Các kiểu dữ liệu BINARY , VARBINARYBLOB rất giống CHAR , VARCHARTEXT với COLLATE ..._bin . Có lẽ sự khác biệt duy nhất là văn bản sẽ được kiểm tra xem utf8 hợp lệ được lưu trữ trong VARCHAR ... COLLATE ..._bin , nhưng nó sẽ không được kiểm tra khi lưu trữ vào VARBINARY... . So sánh (WHERE , ORDER BY , v.v.) sẽ giống nhau; nghĩa là, chỉ cần so sánh các bit, không gấp chữ hoa chữ thường hoặc tước dấu, v.v.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL Chọn THAM GIA 3 Bảng

  2. PDO và liên kết nhiều bộ giá trị trong quá trình chèn - gần đây

  3. Không thể chọn nhóm các hàng theo create_at

  4. PHP 7 không thể tìm thấy MySQLi

  5. InnoDB và MyISAM trong MySQL là gì?