sql >> Database teknologi >  >> RDS >> Mysql

erstatte affaldstegn i mysql

Jeg regnede det ud. Jeg brugte mysqls indbyggede hex funktion til at dumpe en post, som jeg vidste var dårlig.

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

Så valgte ordene ud (disse tal placeret mellem "20"er) og opdagede, at mit fornærmende sæt bytes faktisk var x'C3A2E282AC2671756F743B' . Hvordan dette svarer til den måde, jeg så det kodet i PHP og af mit system (som e2 80 ) Jeg ved det ikke, og på nuværende tidspunkt er jeg ligeglad.

For at verificere, før du ødelægger dataene, skal du tilslutte det igen til mysql:

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

Så ved at bruge erstatningsforespørgslen som ovenfor var jeg i stand til at slippe af med alle de dårlige data på én gang.

For ordens skyld var det:

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

Jeg håber virkelig, at dette er nyttigt for nogen. Selvom kodning af snafus ser ud til at være ret almindelig i mysql, søgte jeg overalt og jeg kunne ikke finde en forklaring på denne i sidste ende ret simple proces.



  1. Tidszone med sommertid i PostgreSQL

  2. Vil ANSI JOIN vs. ikke-ANSI JOIN-forespørgsler fungere anderledes?

  3. Mineplaner:Ikke kun for planens cache

  4. Sådan vælger du et kolonnenavn med et mellemrum i MySQL