Добавлено: 22.06.2017 / 14:36
Добрый день!
Хочу выполнить update в таблице, изменив одно значение полей на другое и не выходит, делаю так.
UPDATE `users` SET `city`='67' WHERE `city`='68'
Хочу, чтобы все поля в табле users/city, которые имеют значени 67 изменились на значение 68, но просто происходит обновление и не меняются значения. ЧТо делаю не так?
Добавлено: 22.06.2017 / 14:38
В идеале сделать, что-то типа того:
UPDATE`users` SET `city`='значение от например 60 до 67' WHERE `city`='68'
и тд
В первом своём листинге поменяй местами значения в SET и в WHERE
Как минимум один с вариантов будет работать.
Какой движок БД?
UPDATE `users`
WHERE `city`='67' -- Критерий поиска
SET `city`='68' -- Чем заменяем
UPDATE `users`
SET `city`='68' -- Чем заменяем
WHERE `city`='67' -- Критерий поиска
там не так надо делать, тут был уже подобный вопрос
так по сути и должно быть, так как можно рекурсию написать
как то так думаю заработает
update table set field = 1 where id in(select id from table t where field = 2)
буду дома напишу
FanLoko,
UPDATE `users` as `t1`
SET `t1`.`city` = 68
WHERE `t1`.`id` IN(
SELECT `id`
FROM
(
SELECT `t2`.`id`
FROM `users` as `t2`
WHERE `t2`.`city` = 67
) as `ids`
)
пробуй
# FanLoko (22.06.2017 / 14:38)
В идеале сделать, что-то типа того:
UPDATE`users` SET `city`='значение от например 60 до 67' WHERE `city`='68'
$a=mysql_query(SELECT `id` FROM `users` WHERE `sity`='68');
while ($b=mysql_fetch_array($a))
{
$c[]=$b['id'];
}
for ($x=0;$x<count($c);$x++)
{
$y=rand(60,67);
UPDATE`users` SET `city`=$y WHERE `id`=$c[$x];
}
# dilp (22.06.2017 / 20:56)
по другому не умею
Ну, уже ведь предложили людские варианты
ДоХтор, автору нужен рандом