О 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() 
  • python: MYSQLdb. как получить имя столбца без выполнения select * в большой таблице?
  • Использование PIP в виртуальной среде, как установить MySQL-python
  • Python может найти модуль ... и тогда он не сможет
  • Установите MySQL-python в virtualenv на Windows 7
  • Установка MySQLdb в Mac OS X
  • как вставить в таблицу mysql с помощью mysaldb, где имя таблицы находится в переменной python?
  • Выполнить .sql-файл в Python с MySQLdb
  • Python и MySQLdb: замена таблицы, приводящая к синтаксической ошибке
  • Python - лучший язык программирования в мире.