【发布时间】:2017-11-13 04:24:02
【问题描述】:
我在当前项目中有一个奇怪的行为。我使用 python3 和 pymysql 连接到我的数据库。在我的数据库中,我以表格规划的形式存储时间间隔:
------------------------------
| id | start | end |
------------------------------
| 1 | time1 | time2 |
------------------------------
我有一个线程循环,每分钟查询一次数据库以选择下一个查询的间隔:
SELECT * FROM `planning` WHERE `start` < 'current_timestamp' AND `end` > 'current_timestamp'
好的,问题来了: 如果在我启动线程之前存在间隔,则线程将正确选择间隔 如果在线程已经运行时创建间隔,线程将不会选择间隔,但如果使用 phpmyadmin 中的 sql 查询,例如我会得到间隔。此外,如果我停止线程并重新启动它,线程将正确选择间隔。
如果有人有任何想法,我不明白为什么线程无法检测到数据库中的新间隔?
【问题讨论】:
标签: python mysql multithreading select pymysql