Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

ganti karakter sampah di dalam mysql

Saya menemukan jawabannya. Saya menggunakan hex bawaan mysql berfungsi untuk membuang entri yang saya tahu buruk.

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

Kemudian pilih kata-kata (angka-angka itu diapit di antara "20") dan temukan bahwa kumpulan byte saya yang menyinggung sebenarnya adalah x'C3A2E282AC2671756F743B' . Bagaimana ini sesuai dengan cara saya melihatnya dikodekan dalam PHP dan oleh sistem saya (sebagai e2 80 ) Saya tidak tahu dan pada titik ini, saya tidak terlalu peduli.

Untuk memverifikasi, sebelum menghancurkan data, Anda pasang kembali ke mysql:

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

Jadi, dengan menggunakan kueri ganti seperti di atas, saya dapat menghapus semua data buruk sekaligus.

Sebagai catatan adalah:

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

Saya sangat berharap ini bermanfaat bagi seseorang. Meskipun encoding snafus tampaknya cukup umum di mysql, saya mencari di mana-mana dan saya tidak dapat menemukan penjelasan untuk proses yang agak sederhana ini.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Apakah urutan sisipan ditentukan untuk INSERT IGNORE ... SELECT?

  2. Bagaimana cara menghindari tanda kutip tunggal dalam Doktrin

  3. Apakah mungkin menggunakan hasil fungsi SQL sebagai bidang dalam Doktrin?

  4. Pulihkan folder database MySQL dari Hard Disk yang dipulihkan

  5. Berapa tunjangan maksimum untuk group_concat_max_len di MySQL?