Как узнать, изменилось ли значение в таблице MySQL

Pustota

Новичок
Как узнать, изменилось ли значение в таблице MySQL

Есть MySQL 4.1
Делаю UPDATE ... WHEREv id='$id'

И так прохожусь по всей таблице. Записей где-то около 4 тысяч.
Как мне можно узнать, изменилась ли запись, если я, например, меняю цену, а цена была 5000 р. Я меняю её на 5100 р.
Интересует вариант, если цена не изменилась. Как это отследить?
Вариант делать перед каждым UPDATE еще запрос SELECT и сравнивать два значения не хочется, так как запросов увеличивается сразу в двое.
То есть фактически я хочу менять только там, где 100% изменилась цена.
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
Pustota
UPDATE table SET `price`=10 WHERE price = 10
исполните запрос
и посмотрите
[m]mysql_affected_rows[/m] ?
 

.des.

Поставил пиво кому надо ;-)
1.
UPDATE table SET price=$new_price WHERE id=$id AND price!=$new_price;

hint: price не надо только хранить в float.

2.
SELECT id, price FROM table WHERE id IN (...list of id...)
и UPDATE только тех id у которых изменились price

А вообще слушайте Круглова. Преждевременная оптимизация - зло.
 
Сверху