SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 15.12.2012 22:59:38

serj011
Активист
Зарегистрирован: 22.04.2010
Сообщений: 234

проблемма с UPDATE в базе

Здравствуйте! Вроде простенькая задача, не могу никак решить.

Есть таблица, в которой я хочу поменять данные поля id

$result5 = mysql_query("SELECT id FROM foto_user",$db);
if (mysql_num_rows($result5) > 0)
{
$myrow5 = mysql_fetch_array($result5);
$i=1;
do {

$result = mysql_query ("UPDATE foto_user SET id='$i'");

$i++;

while ($myrow5 = mysql_fetch_array ($result5));
}


т.е. я хочу обновить все строки и установить здания id с 1 и по порядку до конца...
не получаеться, в лучшем случае меняет только первую строку)
Помогите пожалуйста

Неактивен

 

#2 15.12.2012 23:41:26

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5833

Re: проблемма с UPDATE в базе

$result5 = mysql_query("SELECT id FROM foto_user",$db);
$i=1;
while ($myrow5 = mysql_fetch_array ($result5)){
  $result = mysql_query ("UPDATE foto_user SET id='$i'");
  $i++;
}

Неактивен

 

#3 16.12.2012 00:18:45

serj011
Активист
Зарегистрирован: 22.04.2010
Сообщений: 234

Re: проблемма с UPDATE в базе

Не пойму почему, но не получается... если в этом коде для проверки изменить SET id='1', то в одной строчке изменяется id на 1, а сам код вообще не срабатывает... ??? может это быть связано с тем что в параметрах id установлен auto_increment и prymary key?

Неактивен

 

#4 16.12.2012 11:55:18

serj011
Активист
Зарегистрирован: 22.04.2010
Сообщений: 234

Re: проблемма с UPDATE в базе

Решение)

$result5 = mysql_query("SELECT `id` FROM `foto_user`", $db);
$i = 1;
while($myrow5 = mysql_fetch_assoc($result5)) {
    mysql_query("UPDATE `foto_user` SET `id` = '$i' WHERE `id` = {$myrow5['id']}");
    $i++;
}

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson