Python 循环数据库行并将字段复制到另一个字段中

Python 循环数据库行并将字段复制到另一个字段中,python,Python,MySQL数据库表“帐户” 如果rowname为空,如何用Python编写一个脚本,循环该表(accounts)中的所有行,并将值从rowid复制到rowname 经过一番阅读,我终于得到了一些代码: import mysql.connector db = mysql.connector.connect( host="localhost", user="user", passwd="pass", database="mydatabase" ) db_poi

MySQL数据库表“帐户”

如果row
name
为空,如何用Python编写一个脚本,循环该表(accounts)中的所有行,并将值从row
id
复制到row
name

经过一番阅读,我终于得到了一些代码:

import mysql.connector


db = mysql.connector.connect(
    host="localhost",
    user="user",
    passwd="pass",
    database="mydatabase"
)

db_pointer = db.cursor()

db_pointer.execute("SELECT * FROM accounts")

result = db_pointer.fetchall()

for x in result:
    print(x)
例如,如何读取每行中“电子邮件”的值?比如:

for x in result:
    print(x.email)

提前感谢

以下代码将为您提供一个工作示例,说明您正在寻找的内容

import mysql.connector


db = mysql.connector.connect(
    host="localhost",
    user="user",
    passwd="pass",
    database="mydatabase"
)

db_pointer = db.cursor()

db_pointer.execute("SELECT id, ISNULL(name, '') FROM accounts")

result = db_pointer.fetchall()

for x in result:
    #assuming that the SELECT query is returned properly x[0] is the id and x[1] is the name
    if (x[1] == ""):
       #we also assume that id is a primary key
       db_pointer2 = db.cursor()
       db_pointer2.execute("INSERT INTO accounts SET name = '" + x[0] + "' WHERE id = '" + x[0] + "'")
每个查询结果行都是一个数组,使用

array[index]

方法。

到目前为止,您尝试了什么?请向我们展示您的尝试。我的尝试在问题中很清楚。。。对于结果中的x:打印(x.email)