0

这就是我在 Python 中所做的:

>>> import MySQLdb
>>> connect = MySQLdb.connect(...)
>>> cur = connect.cursor()
>>> cur.execute('select max(Logid) from Log;')
1L
>>> cur.fetchone()
(1044122L,)
>>> cur.execute('select max(Logid) from Log;')
1L
>>> cur.fetchone()
(1044122L,)

这是我在mysql中所做的:

mysql> select max(Logid) from Log;
+------------+
| max(Logid) |
+------------+
| 1044116 |
+------------+
1 row in set (0.00 sec)

mysql> select max(Logid) from Log;
+------------+
| max(Logid) |
+------------+
| 1044123 |
+------------+
1 row in set (0.00 sec)

起初,我认为这只是 fetchone() 的值与 mysql 的不同。因为我在不同的时间搜索,值已经改变。

但是,最后,我发现,fetchone() 的值根本没有改变......除了我退出python,再次运行python,值会改变......

为什么?我确实在 MySQLdb 中执行了 select,但为什么值保持不变?

谢谢!!

4

1 回答 1

0

用于connect.autocommit(True)使连接保持最新。

请参阅此处了解更多信息。

于 2013-09-19T09:14:40.127 回答