О MySQLdb conn.autocommit (True)

Я установил python 2.7 64bit, MySQL-python-1.2.3.win-amd64-py2.7.exe.

Я использую следующий код для вставки данных:

class postcon: def POST(self): conn=MySQLdb.connect(host="localhost",user="root",passwd="mysql",db="dang",charset="utf8") cursor = conn.cursor() n = cursor.execute("insert into d_message (mid,title,content,image) values(2,'xx','ccc','fff')") cursor.close() conn.close() if n: raise web.seeother('/') 

Это приводит к печати n как 1, но в mysql данные клиента не видны.

google говорит, что я должен добавить conn.autocommit(True) .

но я не знаю, почему MySQLdb отключает его;

2 Solutions collect form web for “О MySQLdb conn.autocommit (True)”

Я не знаю, есть ли конкретная причина использовать автосообщение с GAE (если вы используете его). В противном случае вы можете просто вручную зафиксировать.

 class postcon: def POST(self): conn=MySQLdb.connect(host="localhost",user="root",passwd="mysql",db="dang",charset="utf8") cursor = conn.cursor() n = cursor.execute("insert into d_message (mid,title,content,image) values(2,'xx','ccc','fff')") conn.commit() # This right here cursor.close() conn.close() if n: raise web.seeother('/') - class postcon: def POST(self): conn=MySQLdb.connect(host="localhost",user="root",passwd="mysql",db="dang",charset="utf8") cursor = conn.cursor() n = cursor.execute("insert into d_message (mid,title,content,image) values(2,'xx','ccc','fff')") conn.commit() # This right here cursor.close() conn.close() if n: raise web.seeother('/') 

Обратите внимание, что вы, вероятно, должны проверить, успешно ли вставлена ​​вставка, а если нет, откат фиксации.

по умолчанию MySQLdb autocommit имеет значение false,

Вы можете установить autocommit в True в вашем соединении MySQLdb, как это,

 conn=MySQLdb.connect(host="localhost",user="root",passwd="mysql",db="dang",charse="utf8") conn.autocommit = True cursor = conn.cursor() - conn=MySQLdb.connect(host="localhost",user="root",passwd="mysql",db="dang",charse="utf8") conn.autocommit = True cursor = conn.cursor() 
  • MySQL-python, ошибка: команда «gcc-4.2» не удалась с статусом выхода 1
  • Ошибка SQL-запроса через mysqldb.query в Python
  • Python MySQLDB: получить результат fetchall в списке
  • Как отключить кеш запросов с помощью mysql.connector
  • Сначала ssh с mysqldb в python
  • TypeError: объект 'int' не повторяется - Python
  • Почему диспетчер контекста MySQLdb не закрывает курсор?
  • django.core.exceptions.ImproperlyConfigured: Ошибка при загрузке модуля MySQLdb:
  • ImportError: нет модуля с именем mysql.base, в проекте django на сервере Ubuntu 11.04
  • Вставка нескольких объектов словаря в базу данных MySQL с использованием python и MySQLdb
  • Python может найти модуль ... и тогда он не сможет
  • Python - лучший язык программирования в мире.