使用MySQL和df.read_sql_query执行SQL查询,但永远不会返回最新记录[重复]

问题描述 投票:0回答:1

此 SQL 查询将运行,但永远找不到最新的记录。 最近的记录是在相关代码运行之前不久创建的。

有问题的代码......

time = datetime.utcnow().isoformat(sep=' ', timespec='seconds')

在不同文件的函数中:

a_timestamp = time
query = '''SELECT * FROM model_versions WHERE created_at=%s'''
results = pd.read_sql_query(query, con=conn, params = [a_timestamp])

到目前为止的故障排除:

  1. 在之前的 .execute() 和此查询之间暂停程序,并通过 SQL 客户端确认我想要的记录存在。
  2. 在没有
    WHERE
    子句的情况下运行程序,该子句返回所有记录...除了在此运行期间创建的单个记录。
  3. a_timestamp=time
    暂停程序并重新评估
    a_timestamp
    以等于较旧的时间戳。效果非常好。
  4. a_timestamp=time
    之前暂停程序并重新评估
    time
    以等于较旧的时间戳。效果非常好。
  5. 我还验证了用于重新计算“时间”的值和以编程方式分配的“时间”值具有相同的类型,它们确实如此。两者都是字符串。
  6. 还尝试了
    '''SELECT * FROM model_versions WHERE created_at=(SELECT MAX(created_at) FROM model_versions)'''
    ,它也不会返回在程序运行期间创建的记录。

这有可能与数据库有关,而不是我的程序吗?

任何帮助将不胜感激,我在这里疯了。

python mysql sql pymysql
1个回答
0
投票

添加了 .commit() 并解决了问题。

在Python中获取更新的MySQL表条目而不关闭连接

© www.soinside.com 2019 - 2024. All rights reserved.