gpt4 book ai didi

python - 插入或替换语句不适用于 sqlite3 和 python

转载 作者:行者123 更新时间:2023-11-30 23:32:03 25 4
gpt4 key购买 nike

每次我通过 python 解释器运行它时,它都会写入新值。例如:

name = ben
age = 10
phone = 42045042

如果我运行 10 次。我的数据库中有 10 个重复项。我知道这一定是一个简单的解决方案,但我已经为此工作了几个小时,但无法弄清楚。

conn = sqlite3.connect('addressbook.db')
cur=conn.cursor()
conn.execute('''
CREATE TABLE IF NOT EXISTS people(name TEXT,
age TEXT, phone TEXT, fblink TEXT)''')
conn.execute("INSERT OR REPLACE INTO people values (?, ?, ?, ?)", ben.displayPerson())
cursor = conn.execute("SELECT name, age, phone, fblink from people")
for row in cursor:
print "NAME = ", row[0]
print "AGE = ", row[1]
print "PHONE = ", row[2]
print "FACEBOOK LINK = ", row[3], "\n"
cur.close()
conn.commit()
conn.close()

最佳答案

没有主键字段。

创建主键字段。

例如:

conn.execute('''
CREATE TABLE IF NOT EXISTS people(name TEXT primary key,
age TEXT, phone TEXT, fblink TEXT)''')

REPLACE 在发生 UNIQUE 约束冲突时执行。没有主键(或唯一的..),就不会发生这种情况。

关于python - 插入或替换语句不适用于 sqlite3 和 python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19602119/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com