Я вставляю строку в свою таблицу, и, когда я выбираю данные из нее, используя один и тот же курсор, он отлично работает. Но когда я пытаюсь просмотреть его другими способами или создать новый курсор, он, кажется, волшебным образом исчезает. Вот что я имею в виду:Почему изменения базы данных отображаются только в текущем курсоре?
>>> cur = MySQLdb.connect(user='alex', db='testing').cursor()
>>> target = 'Alex'
>>> cur.execute("""INSERT INTO user_data (nick, points) VALUES (%s, 100);""", (target.lower()))
1L
>>> cur.execute("""SELECT points FROM user_data WHERE nick = %s;""", (target.lower()))
1L
>>> total = str(cur.fetchone()[0])
>>> print total
100
>>> cur = MySQLdb.connect(user='alex', db='testing').cursor()
>>> cur.execute("""SELECT points FROM user_data WHERE nick = %s;""", (target.lower()))
0L
>>> total = str(cur.fetchone()[0])
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'NoneType' object has no attribute '__getitem__'
>>>
Может ли кто-нибудь сказать мне, почему MySQLdb делает это?