обработка sql дампа

dspu
На сайте с 10.05.2006
Offline
268
740

как из sql дампа выудить строки с нужным значением параметра, чтобы потом, изменив значение этого параметра, записать эти строки в базу?

строки такого вида:

INSERT INTO messages VALUES("1", "65", "2006-06-01", NULL, "muzyka_knigi_video_DVD_igry", "0", "0", "27", "0000-00-00", "THKjlcYs", NULL, "0");

нужно определять параметр перед датой, в примере "65"

изменить, скажем, на "123" и либо сделать новый файл из этих отобранных строк с "65"->"123" либо сразу в базу записать

I
На сайте с 29.04.2006
Offline
135
#1

Какое имя столбца?

Предположим его имя name_id..тогда...


UPDATE table SET `name_id` = '123' WHERE `name_id` = '65'

Это найдет все строки в поле name_id которые равны 65 и заменит их на 123..

Можно создать отдельное поле в базе.. new_id

И тогда туда помещать значения:


UPDATE table SET `new_id` = '123' WHERE `name_id` = '65'

PS:

table заменить на свое имя таблица

поля заменить на свои

выполнять это можно в phpmyadmin в вкладке SQL

Это если в таблице, а если дамп, то кто мешает обычной заменой в редакторе?

dspu
На сайте с 10.05.2006
Offline
268
#2
ipconfig:
Это если в таблице, а если дамп, то кто мешает обычной заменой в редакторе?

я вот тоже думал сначала в редакторе, но дамп 20 метров, все редакторы виснут

а вторая проблема, что к примеру: заменю я "65" на "123" а потом мне надо будет 123 заменить на 456 и заменятся все 123 и старые и новые, которые менять не нужно

I
На сайте с 29.04.2006
Offline
135
#3

Если редакторы не справляются - загоняйте в базу...mysql выполнит всё без проблем....

>а вторая проблема, что к примеру: заменю я "65" на "123" а потом мне надо будет 123 заменить на 456 и заменятся все 123 и старые и новые, которые менять не нужно

Тогда создавайте новое вспомогательное поле.. и используйте его...

MuXo
На сайте с 14.04.2008
Offline
18
#4
dspu:
а вторая проблема, что к примеру: заменю я "65" на "123" а потом мне надо будет 123 заменить на 456 и заменятся все 123 и старые и новые, которые менять не нужно

Замените сначала 123 на 456, а потом 65 на 123.. ;)

Биржа ссылок, статей, контекстных ссылок. Бесплатное определение позиций сайтов в поисковиках. (http://www.setlinks.ru) Представитель системы SetLinks.ru (http://www.setlinks.ru).

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