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

sql_Update="update omssm.t_securitylog set DATETIME=0 where SN=%s;"  
curA.execute(sql_Update,[Str_Sn,])
conn.commit() #在update 之後 加个commit 试试

参考技术A

有没有commit啊,但想想有两种可能:

    没commit

    conn.commit()

    你的where条件不对,更新不到你想更新的数据

参考技术B SN=%s;" 这个s是什么变量? 参考技术C 最后一行加上conn.commit() 参考技术D 你需要commit

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语句后无法更新数据,求大神解决的主要内容,如果未能解决你的问题,请参考以下文章

python怎么调用数据库

python调用MySQL数据库

java下连接mysql数据库 ——更新语句——update

thinkphp中的lock与mysql的for update的使用注意事项

mysql数据库百万级以上数据,如何对其进行边查询变更新?

Python MySQL Update