SQLite 插入数据并返回自增ID
在SQLite中,当你向一个表插入数据时,如果该表有一个自增主键字段,你可以使用 last_insert_rowid()
函数来获取这个自增ID。以下是一个如何在Python中使用 sqlite3
模块来执行这个操作的例子:
import sqlite3
# 连接到SQLite数据库(如果不存在则创建)
conn = sqlite3.connect('example.db')
cursor = conn.cursor()
# 创建一个示例表,其中包含自增主键
cursor.execute('''
CREATE TABLE IF NOT EXISTS users (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT NOT NULL
);
''')
# 插入数据并获取自增ID
cursor.execute('''
INSERT INTO users (name) VALUES (?)
''', ('Alice',))
# 使用 lastrowid 获取插入的自增ID
user_id = cursor.lastrowid
print(f"Inserted row ID: {user_id}") # 输出自增ID
# 提交事务并关闭连接
conn.commit()
conn.close()
在这个例子中,我们首先创建了一个包含自增主键的 users
表(如果表还不存在的话)。然后,我们插入了一条新数据,并使用 cursor.lastrowid
属性来获取这条新数据的自增ID。最后,我们提交了事务并关闭了数据库连接。
评论已关闭