koga021 0 Denunciar post Postado Fevereiro 20, 2013 Bom dia, estou querendo fazer um insert no meu Banco Mysql. Porem nenhum erro e retornado, simplesmente nao consigo fazer um insert no banco pelo Python. Se eu fizer um Insert pelo Shel eu consigo, agora python nao :(. Alguma luz please. #!/usr/bin/python import MySQLdb dbConnection = MySQLdb.connect("localhost", "root", "021dou") #print "Conectou com login, senha e etc" #print "Erro ao conectar ao banco de dados" dbConnection.select_db("test") #print "Selecionou o banco test" #print "Nao selecionou ao banco test" dbCursor = dbConnection.cursor() #dbCursor.execute("""insert into tb_cotacao (nome, valor) values ('VALE6','0.15')""") dbCursor.execute("insert into tb_cotacao (nome, valor) values('Douglas', '00.07')") print "Programa terminado" Depois de Matar o serviço MySQL e ativar a escrita do LOG e analizar tudo, comecei a ver que o comando INSERT nem chegava ao MySQL. Entao fui rodando o programa linha a linha no Python puro. E comecei a ver que apos meu insert o Pyton me retornava 1L Uma linha 1L. parecia que ele estava guardando em memoria. entao apos o insert eu usei o comando dbConnection.commit() e tbm pode ser utilizado o dbConnection.rollback() Você pode utilizar em um try: Acabei eu mesmo resolvendo meu problema. Mas agora não sei se esse commit e por causa do Mysql ou a classe que esta obrigando a fazer isso, pois nso codigos do exemplo, nunca vejo ninguem utilizando commit() Compartilhar este post Link para o post Compartilhar em outros sites
crf_h0m3r 5 Denunciar post Postado Abril 4, 2013 O commit é necessário. É como se você estivesse confirmando a inserção no banco, dá uma lida aqui sobre commit: http://pgdocptbr.sourceforge.net/pg82/sql-commit.html Compartilhar este post Link para o post Compartilhar em outros sites