Несколько UPDATE для 1 таблицы в 1 запрос.

Royal Flash

-=MaestrO=-
Несколько UPDATE для 1 таблицы в 1 запрос.

Есть таблица, в ней порядковый номер (НЕ ИДЕНТИФИКАТОР !!!), и название:
table:
num, name
1 odin
2 dva
3 tri
4 chetire

Например номер 1 удален, и необходимо обновить порядковые номера:
1 - dva
2 - tri
3 - chetire

Каким образом можно это сделать одним запросом UPDATE? Синтаксис?
Я представляю так:

UPDATE
table AS t2, table AS t3, table AS t4
SET num.t2 = 1, num.t3 = 2, num.t4 = 3
WHERE num.t2 = 2, num.t3 = 3, num.t4 = 4

И есть ли смысл делать это в 1 запрос? Есть ли ограничение на длинну этого запроса? Например, в базе 1 000 000 записей. Удаляем первую запись, получаем весьма внушительную строку. Сработает ли данный запрос?
 

Dreammaker

***=Ф=***
хм.. Чего только люди не придумают на свою голову.. :)

Если порядковый номер удаляется в этом же скрипте и этот номер приравнен переменной, то можно что-то типа этого:

PHP:
  $id=45;
// тут мы удаляем строку с айди=45
$sql="UPDATE table SET num=num-1 WHERE num>'".$id."' ORDER BY num ASC";
mysql_query($sql) or die(mysql_error());
Что-то типа этого.
 
Сверху