Сортировка по дате и времени не работает SQLITE3 и Python - PullRequest
0 голосов
/ 07 апреля 2019

Вот как я создаю таблицу:

c.execute(f"""CREATE TABLE IF NOT EXISTS 'news_list' (
                  stuff text,
                  more_stuff text,
                  date_posted date,
                  UNIQUE(href)
                  )""")

и я создал такую ​​дату в другой функции и сохранил ее в БД:

date_posted = f'{year}-{month}-{day}'

выглядит примерно так: '2018-04-12'

Потому что он не генерируется, а извлекается из очищенного списка. Так что это строка в основном в Python.

тогда я заказываю это, используя это в другой функции:

c.execute("""SELECT *
             FROM news_list
             ORDER BY date(date_posted) DESC""")

Это абсолютно ничего не делает. Таблицы остаются неизменными, когда я обновляю базу данных, и это также не дает никаких ошибок. Что я делаю не так?

То же самое время.

1 Ответ

1 голос
/ 07 апреля 2019

Базы данных не изменяют порядок, в котором данные хранятся , потому что это делает его неэффективным для поддержки структур базы данных. Когда данные вставляются, обновляются или удаляются из таблицы, ядро ​​базы данных перемещает данные по своему усмотрению для поддержания эффективности.

Вместо этого порядок применяется к данным, полученным по запросу SELECT. Вам необходимо указать порядок для каждого запроса, если порядок имеет значение для вашего приложения.

Порядок, используемый в любом данном SELECT, не влияет на порядок других запросов или порядок сохраненных строк.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...