我正在尝试此代码,并一直给我错误。 我希望第3个用于cicle将角色添加到与表中名称相同的行中,所以我在考虑使用WHERE来查找名称,但是sql代码中的某些内容是错误的我无法找到它。
for member in soup.findAll("div", {"class": "member-info"}):
for membername in member.findAll("div", {"class": "member-name"}):
print(membername.text)
mn=membername.text
cur.execute("""INSERT INTO team (name)
VALUES (%s)""",
[
(membername.text)
])
for memberrole in member.findAll("div", {"class": ""}):
print(memberrole.text)
cur.execute("""INSERT INTO team (role)
VALUES (%s)
WHERE name=%s""",
[
(memberrole.text),
(mn)
])
db.commit()
db.close()
答案 0 :(得分:0)
SQL INSERT始终创建一个新行。如果您想要更改现有行(或多行或所有行)中的内容使用更新,请UPDATE team SET role=%s WHERE name=%s
。
注意,如果name
未定义为表的(单列)PRIMARY KEY或具有UNIQUE约束,则此代码可以创建与现有行具有相同name
的附加行,并且如果你重复这个过程无限数量的这样的行,这个UPDATE会影响所有这些行。