Mysql
 sql >> база данни >  >> RDS >> Mysql

замени ненужните знаци в mysql

Разбрах го. Използвах вградения hex на mysql функция за изхвърляне на запис, който знаех, че е лош.

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

След това избрах думите (тези числа, поставени между "20"s) и открих, че моят обиден набор от байтове всъщност е x'C3A2E282AC2671756F743B' . Как това съответства на начина, по който го видях кодиран в PHP и от моята система (като e2 80 ) Не знам и в този момент наистина не ме интересува.

За да проверите, преди да унищожите данните, ги включвате обратно в mysql:

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

И така, използвайки заявката за замяна като по-горе, успях да се отърва от всички лоши данни наведнъж.

За протокола беше:

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

Силно се надявам това да е полезно за някого. Въпреки че грешките при кодирането изглеждат доста често срещани в mysql, търсих навсякъде и не можах да намеря обяснение за този в крайна сметка доста прост процес.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQLAlchemy StaleDataError при изтриване на елементи, вмъкнати чрез ORM sqlalchemy.orm.exc.StaleDataError

  2. Докато импортирате mysqldump файл ГРЕШКА 1064 (42000) близо до „ ■/“ на ред 1

  3. MySQL Не може да пусне индекс, необходим при ограничение на външен ключ

  4. Как да разбера размера на индексите в MySQL

  5. вмъкнете php масив в mySql