![]() |
Проблема с конвертацией базы mySQL
Народ помогите решить одну проблему. Есть база mySQL с серийниками к программам около 120 000. Структура базы такая:
Код:
__ ____ ______ _______ Прблема состоит в том что я хочу разделить информацию о имени пользователя и серийнике: Код:
__ ____ ______ _______ _______Например было: Код:
INSERT INTO `base_serials` VALUES (0,'AfterCam 2.4', 'Name: LAXiTY s/n: slajwfcdmxypwdwzahwhw', 'NULL', 'NULL');Код:
INSERT INTO `base_serials` VALUES (0,'AfterCam 2.4', 'Name: LAXiTY', 's/n: slajwfcdmxypwdwzahwhw', 'NULL'); |
Ну можно сделать бекап базы а потом просто сделать замену:
s/n: на ' , 's/n: key: на ' , 'key: Ну или распарсить всю базу регулярками для надёжности... |
если я всё правильно понял, то нужно написать php скрипт с регуляркой, которая будет отделять NAME: ------ и до пробела в старой таблице и писать в новую.
т.к. записей очень много - стоит воспользоваться LIMIT. что-бы в ручную не перезапускать скрипт - можно по завершению очередного цикла обработки отображать браузеру яваскрипт, который передаст в url следующее значение limit |
Цитата:
|
всё очень сильно зависит от сервера - где всё это лежит. ;)
|
Цитата:
|
согласен.
Вот регулярку накидал Name: .*(?=s\/n) проверял на яваскрипте. работает, но нужно предварительно пробели пропарсить (что-бы 2 пробела в некоторых местах на один заменить) |
Забыл сказать, иногда бывает что имени пользователя нет, а серийник есть, его надо перебросить из name в serial и занулить name, так же иногда встречаются конструкции:
Цитата:
|
под вечер скинь в пм файлик с самыми тяжкими случаями (строк 10-20) - распарсим (я какраз недавно распарсивал бэкап мускуля так что есть наработки). мож что и выйдет.
|
я вы предложил по шагам конструкция " or " - explode
у тебя ведь дамп, так? делаем примерно: PHP код:
зы: пару не стандартных строк, если не сложно скинь лучше сюда. задачка интересная - я бы тоже подумал. |
| Время: 18:11 |