PDA

Просмотр полной версии : (mysql) помогите правельно сформировать запрос


Vinsik
17.02.2009, 19:56
требуется запрос поиска и замены
Уменя есть таблица forum
и в ней надо заменить все с sayt.lan на sayt.ru
я пишу
update forum SET forum = replace( ‘sayt.lan’, ‘sayt.ru’)
и не получается( Помогите знающие люди плиииииз :confused:

groundhog
17.02.2009, 20:01
UPDATE forum SET forum=REPLACE(forum, 'sayt.lan', 'sayt.ru');

Vinsik
17.02.2009, 20:05
phpmyadmin грит #1046 - No database selected

groundhog
17.02.2009, 20:07
Ну выбери.. USE 'database' Или слева по списку кликни...

eLWAux
17.02.2009, 20:09
зайди через phpmyadmin сперва в forum а потом уже виполни запрос..

Vinsik
17.02.2009, 20:10
ОЙ! Биг сори! Уменя не таблица форум а база форум!!!!

groundhog
17.02.2009, 20:12
И чё? Апдейт идёт по таблице... Фишку прохавал? Подставляй свои табы и поля и вперёд.

Vinsik
17.02.2009, 20:14
А какой запрос сделать чтоб мне искать sayt.lan по всему моему мускулу и заменять на sayt.ru

Vinsik
17.02.2009, 20:15
И чё? Апдейт идёт по таблице... Фишку прохавал? Подставляй свои табы и поля и вперёд.
Да прахавал..... тока слишком много полей где садержится сайт.лан желательно бы по всей БД запрос такой

groundhog
17.02.2009, 20:17
Vinsik, тогда экспорти всю базу в SQL скрипт. Делай замену в нём. Потом поднимай этот дамп. Больше никак. Или запросом по всем полям по одиночке.

Vinsik
17.02.2009, 20:20
Vinsik, тогда экспорти всю базу в SQL скрипт. Делай замену в нём. Потом поднимай этот дамп. Больше никак. Или запросом по всем полям по одиночке.
опа, точняк, в текстовуху, там все поменять и обратно на место) спс мужик! +++

Zitt
17.02.2009, 20:33
две головы хорошо, а одна умная лучше =)))

barnaki
18.02.2009, 01:15
$query_bases = ('show databases;');
все это в массив ассоциативный
потом в цикле делаешь use
$query_tables = ('show tables');
точно так же запоминаешь таблицы в такой же массив
и опять в цикле select * from $tables[i] bla bla where blabla

barnaki
18.02.2009, 01:38
может где то так но я спать пошел

$link = @mysql_connect($dblocation,$dbuser,$dbpasswd);
if (!link)
{
exit ("<p> cant connect to database </p>");
}
$query_bases = "show databases";
$result_bases = mysql_query($query_bases);
if(!$result_bases) {echo "error bases read";}

else {
while ($output = mysql_fetch_assoc($result))
{
$bases[] = $output;
}

return ($bases);

}
}


$query_tables = "show tables";
for ($i=0;$i<count($bases);$i++)
{
mysql_select_db($bases[$i], $link);

$result_table= mysql_query($query_table);
if(!result_table) {echo "error bases tables";}

else {
while ($output_tables = mysql_fetch_assoc($result_table))
{
$tables[] = $output_table;
$query = "UPDATE $tables SET forum=REPLACE(forum, 'sayt.lan', 'sayt.ru');"
}

return ($tables);

}
}