On Thu, 26 Jan 2017, Karl Young wrote:
DTD([email protected])@2017.01.26 13:23:56 -0500:
I am using py27-MySQLdb-1.2.5 (the default) for FreeBSD 10.3
cmd="update ipv4 set s8='%s',s16='%s',s24='%s' where ip='%s'" %
(s8,s16,s24,row[0])
c.execute(cmd)
When you say that it isn't working, I assume you mean it's not updating
any rows? To see if that's the case, you can assign the return from
execute and print the result, and print it out.
numrows = c.execute(cmd)
print numrows
Or use the rowcount attr of the cursor
print c.rowcount
If it's showing 0 rows, try running select where
select * where ip='1.186.248.251
Is it possible you're connecting to a different host/db than you're
using for your manual SQL?
Karl, the issue is InnoDB and perhaps MySQL changes in 5.6.34. Using the cli
autocommit is on by default and using python it is not. A commit must be done
after a series of updates. db.close apparently does not do a commit. This
behavior is somewhat masked in other program as a select seems to cause the
commit to be done. I don't know if db.close should do a commit or not.
Thanks again for the response.
Doug
_____
Douglas Denault
http://www.safeport.com
[email protected]
Voice: 301-217-9220
Fax: 301-217-9277
_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-python
To unsubscribe, send any mail to "[email protected]"