Помогите с чисткой базы данных MySQL

Статус
В этой теме нельзя размещать новые ответы.

puagardian

One Love
Регистрация
16 Июл 2012
Сообщения
436
Реакции
621
Есть база, размером 1.9гб, записей около 170 000
В этой базе есть колонка в которой должна быть всего 1 цифра, но сейчас там вперемешку идет (посмотреть можно тут: Для просмотра ссылки Войди или Зарегистрируйся)
Как очистить в этой колонке значения где присутствуют буквы, а там где только цифра - оставить как есть?
 
Есть база, размером 1.9гб, записей около 170 000
В этой базе есть колонка в которой должна быть всего 1 цифра, но сейчас там вперемешку идет (посмотреть можно тут: Для просмотра ссылки Войди или Зарегистрируйся)
Как очистить в этой колонке значения где присутствуют буквы, а там где только цифра - оставить как есть?
какие есть признаки невалидных значений? ну кроме невозможности конверта?

самое прямо в лоб про что подумалось
DELETE FROM `table` WHERE ceil( zvezd ) <> zvezd

ещё вариант
DELETE FROM table WHERE zvezd REGEXP '[^0-9].+'
предварительно можешь проверить используя SELECT что там будет удалено
SELECT * FROM table WHERE zvezd REGEXP '[^0-9].+'

блин сегодня день какойто, я тебе дал запрос которым удаляются записи o_O:ah::crazy:
UPDATE `table` SET zvezd = '0' WHERE ceil( zvezd ) <> zvezd
либо
UPDATE `table` SET zvezd = '0' WHERE zvezd REGEXP '[^0-9].+'
 
какие есть признаки невалидных значений? ну кроме невозможности конверта?
самое прямо в лоб про что подумалось
DELETE FROM `table` WHERE ceil( zvezd ) <> zvezd
все значения которые содержат любую букву - невалидны, их нужно очистить, тоесть саму строку не удалять, а только очистить невалидное значение
валидные значения это целое число от 1 до 5

предлагаю экпортнуть базу и в notepad++ или аналогичной программе проделать необходимые изменения, после чего импортировать обратно на сервер.
посмотрел бы я на твой комп когда ты в нотпад++ откроешь файл размером 1.9гб и будешь там поиск-заменой пользоваться
мой точно с таким не справиться

Спасибо Шумадан за помощь и быстрое решение проблемы. Не ожидал что все будет так просто :ay:
Запрос заменил невалидные значения на 0.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху