помогите поправить дамп БД

Y
На сайте с 11.05.2006
Offline
99
475

знатоки php и регулярок нотепада++, подскажите плиз.

делаю дамп бд из нескольких тысяч строк. в каждой строке есть типа такая вставка:

INSERT INTO `products` VALUES ('', бла-бла-бла

INSERT INTO `products_description` VALUES ('', бла-бла-бла

INSERT INTO `products_to_categories` VALUES ('', бла-бла-бла

INSERT INTO `products` VALUES ('', бла-бла-бла

INSERT INTO `products_description` VALUES ('', бла-бла-бла

INSERT INTO `products_to_categories` VALUES ('', бла-бла-бла

INSERT INTO `products` VALUES ('', бла-бла-бла

INSERT INTO `products_description` VALUES ('', бла-бла-бла

INSERT INTO `products_to_categories` VALUES ('', бла-бла-бла

.............

задача все строки сделать такими:

INSERT INTO `products` VALUES ('23', бла-бла-бла

INSERT INTO `products_description` VALUES ('23', бла-бла-бла

INSERT INTO `products_to_categories` VALUES ('23', бла-бла-бла

INSERT INTO `products` VALUES ('24', бла-бла-бла

INSERT INTO `products_description` VALUES ('24', бла-бла-бла

INSERT INTO `products_to_categories` VALUES ('24', бла-бла-бла

INSERT INTO `products` VALUES ('25', бла-бла-бла

INSERT INTO `products_description` VALUES ('25', бла-бла-бла

INSERT INTO `products_to_categories` VALUES ('25', бла-бла-бла

.............

то есть, в первые 3 строки вставить 23, в следущие 3 строки - 24 и так далее по возрастающей до конца.

возможно ли так сделать в блокноте или php-скриптом как-то переписать?

помогите, плиз.

LEOnidUKG
На сайте с 25.11.2006
Offline
1773
#1

Нереал. Только через скрипты, PHP перебором.

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/ ✅ Настройка и оптимизация серверов https://getmanyspeed.ru/
S
На сайте с 19.11.2014
Offline
88
#2

Я бы закинул в базу, добавил поле с автоинкрементом, стартуя с 22, затем бы экспортировал, куда надо

Y
На сайте с 11.05.2006
Offline
99
#3

я пробовал прямо в таком виде (с пустым ID) запрос в PhpMyAdmin делать с AUTO_INCREMENT, но почему-то некорректно получается, путаются ID.

---------- Добавлено 20.11.2014 в 20:29 ----------

всем спасибо. проблема решена. :)

решил просто все заново спарсить и при парсинге вставлять ID.

S
На сайте с 19.11.2014
Offline
88
#4

Что не пропускают сообщения....

Можно ещё и так попробовать


$new_strings = '';
$strings = file('file_name');

$a=$b=$c=23;
foreach($strings as $string)
{
if(substr_count($string, 'INSERT INTO `products`')>0)
{
$new_strings.=str_replace("INSERT INTO `products` VALUES (''", "INSERT INTO `products` VALUES (\''.$a.'\'", $string);
$a++;
}
elseif(substr_count($string, 'INSERT INTO `products_description`')>0)
{
$new_strings.=str_replace("INSERT INTO `products_description` VALUES (''", "INSERT INTO `products_description` VALUES (\''.$b.'\'", $string);
$b++;
}
elseif(substr_count($string, 'INSERT INTO `products_to_categories`')>0)
{
$new_strings.=str_replace("INSERT INTO `products_to_categories` VALUES (''", "INSERT INTO `products_to_categories` VALUES (\''.$c.'\'", $string);
$c++;
}
else $new_strings.=$string;
}

и записать $new_strings в новый файл

Может напутал что со скобками и кавычками. Ну спецы, наверное, сделают элегантнее. Я представил только ход мыслей.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий