use*_*306 33 python mysql sql-update mysql-connector-python
我有一个需要更新mysql数据库的python脚本,到目前为止:
dbb = MySQLdb.connect(host="localhost",
user="user",
passwd="pass",
db="database")
try:
curb = dbb.cursor()
curb.execute ("UPDATE RadioGroups SET CurrentState=1 WHERE RadioID=11")
print "Row(s) were updated :" + str(curb.rowcount)
curb.close()
except MySQLdb.Error, e:
print "query failed<br/>"
print e
Run Code Online (Sandbox Code Playgroud)
该脚本Row(s) were updated :
使用正确的行数打印,其行数为RadioID
11.如果我将其更改RadioID
为表中不存在的另一个数字,它将说明Row(s) were updated :0
.但是,数据库实际上并未更新.该CurrentState
领域保持不变.如果我将SQL语句复制并传递给PHPMyAdmin,它可以正常工作.
Laz*_*ddy 83
使用
dbb.commit()
Run Code Online (Sandbox Code Playgroud)
后
curb.execute ("UPDATE RadioGroups SET CurrentState=1 WHERE RadioID=11")
将您"加载"的所有更改提交到mysql服务器
Cyc*_*one 24
正如@Lazykiddy指出的那样,在将它们加载到mysql之后,你必须提交你的更改.
在MySQL连接初始化之后,您也可以使用此方法启用自动提交设置:
dbb.autocommit(True)
Run Code Online (Sandbox Code Playgroud)
然后,它将自动提交您在代码执行期间所做的更改.
两个答案都是正确的。但是,您也可以这样做:
dbb = MySQLdb.connect(host="localhost",
user="user",
passwd="pass",
db="database",
autocommit=True)
Run Code Online (Sandbox Code Playgroud)
添加自动提交=真
归档时间: |
|
查看次数: |
37107 次 |
最近记录: |