我的代码运行,但更新不坚持:
conn.execute('''UPDATE COMBINATIONS \
SET METRIC = COMBINATIONS.FREQ_EVER / help.DOCS_EVER \
FROM (SELECT DOCS_EVER, TERM FROM TERMS) AS help WHERE COMBINATIONS.SEARCH = help.TERM;''')
conn.commit()
因此,当我执行以下操作时:
test = conn.execute('''SELECT METRIC FROM COMBINATIONS WHERE SEARCH = "and" AND SUGGESTED = "in"''')
for row in test:
print(row)
.. 我只得到我的旧默认值。任何人都知道为什么以及如何解决它?
我尝试了以下方法来检查是否从语句的 SELECT 版本中获得结果,并且确实得到了很多结果:
test = conn.execute('''SELECT * FROM COMBINATIONS, (SELECT DOCS_EVER, TERM FROM TERMS) AS help WHERE COMBINATIONS.SEARCH = help.TERM;''')
for row in test:
print(row)
我在 python 中使用 sqlite3 包。它是 SQLite 版本 3.32.2。