sql >> Database >  >> RDS >> Mysql

vervang afvaltekens in mysql

Ik heb het uitgezocht. Ik gebruikte mysql's ingebouwde hex functie om een ​​item te dumpen waarvan ik wist dat het slecht was.

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

Toen koos ik de woorden uit (die getallen tussen "20"s) en ontdekte dat mijn gewraakte set bytes in feite x'C3A2E282AC2671756F743B' was . Hoe dit overeenkomt met de manier waarop ik het zag gecodeerd in PHP en door mijn systeem (als e2 80 ) Ik weet het niet en op dit moment maakt het me niet zoveel uit.

Om te verifiëren, voordat u de gegevens vernietigt, sluit u die weer aan op mysql:

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

Dus met behulp van de vervangingsquery zoals hierboven, kon ik alle slechte gegevens in één keer verwijderen.

Voor de goede orde was het:

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

Ik hoop echt dat dit nuttig is voor iemand. Hoewel het coderen van snafus vrij gebruikelijk lijkt in mysql, heb ik overal gezocht en ik kon geen verklaring vinden voor dit uiteindelijk vrij eenvoudige proces.



  1. ML{.NET} Inleiding

  2. django auth Gebruiker die e-mailveld afkapt

  3. Geef array door als invoerparameter aan een in orakel opgeslagen procedure met behulp van een eenvoudige jdbc-aanroep

  4. Hoe u de maand van een datum haalt in MySQL