python sqlite 新增数据时根据id查重复数据 重复则不执行
时间: 2024-02-18 07:02:07 浏览: 52
sqlite避免重复插入数据
4星 · 用户满意度95%
在 Python 中使用 SQLite 数据库时,可以使用 SQL 语句的 `INSERT OR IGNORE` 命令来实现新增数据时根据 id 查重复数据的功能。具体实现步骤如下:
1. 连接数据库:
```python
import sqlite3
conn = sqlite3.connect('example.db')
c = conn.cursor()
```
2. 创建表格:
```python
c.execute('''CREATE TABLE IF NOT EXISTS example_table
(id INTEGER PRIMARY KEY, name TEXT, age INTEGER)''')
```
3. 新增数据时根据 id 查重复数据:
```python
new_record = (1, 'Jack', 25)
c.execute("INSERT OR IGNORE INTO example_table VALUES (?, ?, ?)", new_record)
```
在上述代码中,`new_record` 是一个元组,包含了要新增的数据,其中第一个元素是 id,如果数据库中已经存在了该 id 对应的数据,则 `INSERT OR IGNORE` 命令会忽略该次新增操作。如果不存在,则会将该数据插入到数据库中。
4. 提交更改并关闭连接:
```python
conn.commit()
conn.close()
```
完整代码示例:
```python
import sqlite3
conn = sqlite3.connect('example.db')
c = conn.cursor()
c.execute('''CREATE TABLE IF NOT EXISTS example_table
(id INTEGER PRIMARY KEY, name TEXT, age INTEGER)''')
new_record = (1, 'Jack', 25)
c.execute("INSERT OR IGNORE INTO example_table VALUES (?, ?, ?)", new_record)
conn.commit()
conn.close()
```
阅读全文