这是我创建表格的方式:
c.execute(f"""CREATE TABLE IF NOT EXISTS 'news_list' (
stuff text,
more_stuff text,
date_posted date,
UNIQUE(href)
)""")
然后我在另一个函数中创建了这样的日期,并将其存储在DB中:
date_posted = f'{year}-{month}-{day}'
看起来像这样的'2018-04-12'
因为它不是生成的,而是从抓取的列表中提取的。因此它基本上是python中的字符串。
然后我在另一个函数中使用它来订购它:
c.execute("""SELECT *
FROM news_list
ORDER BY date(date_posted) DESC""")
它绝对不执行任何操作。当我刷新数据库时,表保持不变,并且也不会出现任何错误。我在做什么错了?
同时间。
答案 0 :(得分:1)
数据库不会更改存储的数据顺序,因为这会使维护数据库结构效率低下。当从表中插入,更新或删除数据时,数据库引擎将根据需要移动数据以保持效率。
相反,对SELECT
查询产生的数据进行排序。您需要为每个查询指定顺序,在此顺序对应用程序很重要。
在任何给定的SELECT
中使用的顺序不会影响其他查询的顺序或存储的行顺序。