Вот уж не думал что в операторе UPDATE можно использовать ключевое слово ORDER. И никогда не думал, что такое мне пригодится!
Вот пример. Мне нужно сделать такой запрос:
1 | UPDATE t SET id = id + 1; |
Как ни странно запрос вызовет ошибку уникальности первичного ключа. Проблема в том, что апдейт делается последовательно для всех записей, а не сразу всех.
Вылечить проблему можно задав порядок апдейта с помощью ключевого слова ORDER.
1 | UPDATE t SET id = id + 1 ORDER BY id DESC; |
Дьявольски редко пригождающаяся вещь! Но иногда и палка стреляет.
Нет постов по теме.
RSS-подписка
Где же Вы были пару недель назад? Я использовал обходное решение:
updade t set id=id+10000;
update t set id=id-9999;
)))))
Ох ничего себе финт! Учтем-с…