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

thay thế các ký tự rác trong mysql

Tôi đã hiểu rồi. Tôi đã sử dụng nội trang của mysql hex chức năng kết xuất một mục nhập mà tôi biết là không hợp lệ.

    select hex(column) from table where id=666;

Sau đó, chọn ra các từ (những số đó kẹp giữa "20" s) và phát hiện ra rằng tập hợp byte vi phạm của tôi trên thực tế là x'C3A2E282AC2671756F743B' . Điều này tương ứng như thế nào với cách tôi thấy nó được mã hóa bằng PHP và bằng hệ thống của tôi (dưới dạng e2 80 ) Tôi không biết và tại thời điểm này, tôi không thực sự quan tâm.

Để xác minh, trước khi hủy dữ liệu, bạn cắm lại dữ liệu đó vào mysql:

    select x'C3A2E282AC2671756F743B';
    +---------------------------+
    | x'C3A2E282AC2671756F743B' |
    +---------------------------+
    | â€"               |
    +---------------------------+
    1 row in set (0.00 sec)

Vì vậy, bằng cách sử dụng truy vấn thay thế như trên, tôi đã có thể loại bỏ tất cả dữ liệu xấu cùng một lúc.

Đối với hồ sơ đó là:

    update TABLE set COLUMN = replace(COLUMN, x'C3A2E282AC2671756F743B','--');

Tôi thực sự hy vọng điều này hữu ích cho ai đó. Mặc dù snafus mã hóa có vẻ khá phổ biến trong mysql, nhưng tôi đã tìm kiếm mọi nơi và cuối cùng tôi không thể tìm ra lời giải thích cho quá trình khá đơn giản này.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. kiểm tra mục nhập trùng lặp so với sử dụng kết quả PDO errorInfo

  2. Nhận giá trị MAX trong truy vấn mysql

  3. làm thế nào để mysql_fetch_array trên các bảng đã tham gia, nhưng các cột có cùng tên

  4. Độ dài nhận xét bảng trong MySQL

  5. Truy vấn Giới hạn MySQL, Nhóm và AVG