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

Cách tốt nhất để lưu trữ giá trị được mã hóa base64 trong MySQL DB?

Đối chiếu chỉ tạo ra sự khác biệt nếu bạn cần ORDER BY hoặc tìm kiếm trong cột. Các mục được mã hóa base64 này có thể sẽ không được tìm kiếm hoặc sắp xếp.

Nếu các mục được mã hóa của bạn được đảm bảo có độ dài dưới 64K byte, hãy xác định cột của bạn như sau:

   `columnname` TEXT CHARACTER SET ascii,

Đây chính xác là những gì cần thiết cho một biến được mã hóa base64; quá trình mã hóa biến mọi thứ thành ASCII có thể hiển thị.

Nếu các mục có độ dài dưới 16 megabyte, nhưng một số mục sẽ dài hơn 64k, hãy sử dụng MEDIUMTEXT thay vì TEXT .

Chỉnh sửa nhiều năm sau.

Chuỗi được mã hóa OQ, được giải mã, là một đối tượng php được tuần tự hóa:

a:2:{s:20:"Type_of_organisation";s:20:"Member of Parliament";s:8:"Postcode";s:7:"PE1 1JA";}

Quan sát 1:rất nhiều nội dung này được lưu trữ trong các cột văn bản mà không cần mã hóa nó, sử dụng bộ ký tự utf8 hoặc utf8mb4. Rất nhiều? Đúng. WordPress lưu trữ dữ liệu tùy chọn theo cách này.

Quan sát 2:Nếu nó có thể được dịch sang JSON, bạn có thể sử dụng kiểu dữ liệu JSON trong các phiên bản MySQL gần đây. Các tìm kiếm JSON vẫn không thể phân loại được, nhưng chúng được cấu trúc.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Có tương đương cho MySQL's multi_query () trong PDO không?

  2. MySQL &NHibernate. Cách khắc phục lỗi:Cột 'ReservedWord' không thuộc bảng ReservedWords?

  3. kết quả kép trong mảng của tôi (mysql_fetch_array)

  4. Nhập nhiều tệp csv vào bảng mysql

  5. mysqldump không thành công với Bỏ qua dữ liệu kết xuất cho bảng 'table1', nó không có trường