这是一个创建于 4082 天前的主题,其中的信息可能已经有所发展或是发生改变。
这是我在 python 中的操作:
>>> import MySQLdb
>>> connect = MySQLdb.connect(host='localhost',
... user='root',
... passwd='admin',
... charset='utf8',
... db='test',
... connect_timeout=365*24*3600)
>>> 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()的值,根本就不会变。
有什么原因吗?
是mysql的原因吗??
还是 MySQLdb的原因???
THX!!
2 条回复 • 1970-01-01 08:00:00 +08:00
|
|
1
VYSE 2013-09-19 16:24:04 +08:00
cursor.close()再新建查呢?
|
|
|
2
hit9 2013-12-13 15:17:03 +08:00
connect.autocommit(True) 试试,
或者把每次查询放在事务之中
|