Часть 1: обычно используйте ORDER BY
Если вы не используете оператор ORDER BY
, MySQL и PostgreSQL (и в этом отношении большинство реляционных систем СУБД) неДелайте какие-либо обещания о порядке записи.
Вы должны рефакторинг вашего приложения, чтобы использовать оператор ORDER BY
.Если вы хотите, чтобы ваш набор данных был упорядочен сначала самыми новыми, вы можете использовать что-то вроде:
SELECT * FROM yourtable ORDER BY id DESC;
SELECT * FROM youtable ORDER BY creation_date DESC; -- if your table has such a column
Аналогично, вы можете сначала иметь самые старые объекты, используя одно из следующего:
SELECT * FROM yourtable ORDER BY id ASC;
SELECT * FROM youtable ORDER BY creation_date ASC; -- if your table has such a column
Часть 2: Изучение механики
Вы добавили к своему вопросу более подробный запрос:
[...] Я знаю, что могу использоватьORDER BY для сортировки, но я имею в виду внутреннее поведение базы данных при выполнении действия UPDATE.
Существует несколько факторов, которые влияют на последовательность записей базы данных, отображаемых на вашем экране, при выполнениизапрос.В реальном приложении невозможно (практически) предсказать эту последовательность.
Я предполагаю, что это просто эффект PostgreSQL, создающего новую запись для обновленной записи, которую можно найти здесь в разделе Обновление строки .Я предлагаю не полагаться на этот bevaiour ни в одном из ваших приложений.