当前位置: 首页 > 面试题库 >

如何在python中使用单个MySQL查询更新多行?

聂溪叠
2023-03-14
问题内容
#!/usr/bin/python

# -*- coding: utf-8 -*-
import MySQLdb as mdb

con = mdb.connect('localhost', 'root', 'root', 'kuis')

with con:

    cur = con.cursor()
    cur.execute("UPDATE Writers SET Name = %s WHERE Id = %s ",
        ("new_value" , "3"))
    print "Number of rows updated:",  cur.rowcount

使用上面的代码,数据库kuis中表Writers的第三行值将使用new_value更新,并且输出将为 Number od rows更新:1
我应该如何同时更新多行?


问题答案:

可能您正在寻找cursor.executemany。

cur.executemany("UPDATE Writers SET Name = %s WHERE Id = %s ",
        [("new_value" , "3"),("new_value" , "6")])


 类似资料:
  • 问题内容: 使用上面的代码,数据库kuis中表Writers的第三行值将用new_value更新,并且输出将为 Number od rows更新:1 我应该如何同时更新多行? 问题答案: 可能您正在寻找cursor.executemany。

  • 问题内容: 我基本上只是试图更新表中的多个值。最好的方法是什么?这是当前代码: 我要包含的另一个更新是: 谢谢! 问题答案: 用逗号分隔添加多列: 但是,您没有在清理输入内容??这意味着任何随机的黑客都可能破坏您的数据库。看到这个问题:用PHP清理用户输入的最佳方法是什么? 另外,样式是数字还是字符串?我假设一个字符串,所以需要用引号引起来。

  • 我有一张像下面这样的桌子, ID姓名电子邮件性别 这个表中已经有了一些值。 现在,我用下面的查询来添加年龄。 alter table tblPerson add Age int 现在,我的行结构看起来像 ID姓名电子邮件性别年龄 现在,我有了年龄表。有任何查询可以将这些年龄添加到新创建的列中吗? 所有年龄都是根据ID排序的。因此,如果需要逻辑,则不需要。我只需要添加列数据。 谢谢

  • 问题内容: 我看到这对笨论坛 考虑以下代码 这显然是您在Codeigniter中这样做的方式 实际上这是行不通的。我看了一下生成的SQL,结果甚至没有提到联接。 有谁知道如何使用Codeigniter的Active Record数据库类对联接进行更新? 问题答案: 我发现的一种解决方案是完全删除联接并将联接条件移到“ where”函数中,此外,您还需要更改更新字符串以包括新表。

  • 问题内容: 我有2张桌子,如下所示: serial_table serial_key CHARACTER VARYING(20), PRIMARY KEY(id, serial_key) serial_rate: serial_key CHARACTER VARYING(20), rate NUMERIC, PRIMARY KEY(id, serial_key), FOREIGN KEY (id,

  • 我需要更新我的数据库,它是基于locationId的多行软删除 当我运行查询时,我得到一个错误: 错误代码:1175。您使用的是安全更新模式,并且您试图更新一个没有使用键列禁用安全模式的表,请在“首选项”中切换该选项- 正如我所知,子查询将返回两条记录,因为子查询返回两条记录更新不会发生,但我如何解决这个问题。我试图解决这个问题,但没有成功。