python连接MYSQL数据库,调用update语句后无法更新数据,求大神解决
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python连接MYSQL数据库,调用update语句后无法更新数据,求大神解决相关的知识,希望对你有一定的参考价值。
config='host':'10.66.88.221',#连接的数据库IP地址
'user':'root',
'password':'Changeme123',
'port':31900 ,#默认3306或31900
'database':'MYSQL',
'charset':'utf8'#默认即为utf8
try:
conn = mysql.connector.connect(**config)#加载MYSQL数据库参数,建立连接。
curA = conn.cursor(buffered=True)
sql_Str="set names gb2312"#设置MYSQL数据库返回字符串的编码为gb2312
curA.execute(sql_Str)
count = 0
curA.execute("select * from omssm.t_securitylog;")
for rows in curA:
strRow = ''
for col in rows:
strRow += '\t' + str(col)
#print strRow
count += 1
Str_Sn = 10
sql_Update="update omssm.t_securitylog set DATETIME=0 where SN=%s;"
curA.execute(sql_Update,[Str_Sn,])
RESULTS=curA.fetchall()
print RESULTS
curA.execute(sql_Update,[Str_Sn,])
conn.commit() #在update 之後 加个commit 试试 参考技术A
有没有commit啊,但想想有两种可能:
没commit
conn.commit()
你的where条件不对,更新不到你想更新的数据
MySQL UPDATE语句SET多字段,逗号连接和AND连接的区别
参考链接:https://blog.csdn.net/qq_28382071/article/details/79759559
MySQL正确的UPDATE语法如下:
测试表数据和字段格式
执行以下UPDATE语句,会有什么结果?
第三句UPDATE语句报错,其他成功执行
执行结果:
说明:
1和4是正确UPDATE语句,2、3、5、6是使用AND连接的UPDATE。
MySQL使用AND连接的语句时,相当于执行了下面的SQL:
UPDATE hutz SET age = (1 AND address = \'6\') WHERE id = \'6\';
所以age等于括号里面的Boolean值,0表示false, 1表示true。
疑问:
至于报错的第三句SQL,(2、3的区别)跟字段类型有关,SET的值是字符类型的数值时,会报精度错误。(哪位大佬知道,不吝赐教!)
以上是关于python连接MYSQL数据库,调用update语句后无法更新数据,求大神解决的主要内容,如果未能解决你的问题,请参考以下文章
java下连接mysql数据库 ——更新语句——update