可以首先查询数据库中已存在的值,然后在添加新值之前检查要添加的值是否已经存在。如果存在,则不添加,否则将其添加到数据库中。
Python代码示例:
import sqlite3
# 连接到数据库
conn = sqlite3.connect('example.db')
c = conn.cursor()
# 定义要添加的数据
new_values = ['value1', 'value2', 'value3']
# 查询数据库中已存在的值
existing_values = [row[0] for row in c.execute('SELECT value FROM table1').fetchall()]
# 遍历要添加的值并检查是否已存在于数据库中
for value in new_values:
if value not in existing_values:
c.execute('INSERT INTO table1 (value) VALUES (?)', (value,))
print(f'{value} added to database')
else:
print(f'{value} already exists in database, not added')
# 提交更改并关闭数据库连接
conn.commit()
conn.close()
在上面的示例中,我们首先连接到数据库,定义了要添加的新值,查询了数据库中已存在的值,并开始遍历新值列表。
对于每个新值,我们检查它是否已存在于数据库中。如果是,则输出一条消息说明该值已存在并不被添加到数据库中。如果不是,则添加到数据库中,并输出一条消息说明已添加成功。
最后,我们提交更改并关闭数据库连接。
上一篇:避免使用输出参数(不产生副作用)