要插入一行数据并返回主键,我们可以使用 INSERT
语句和 last_insert_rowid()
函数。下面是一个示例:
INSERT INTO 表名 (列1, 列2, 列3) VALUES (值1, 值2, 值3);
SELECT last_insert_rowid();
SQL
Copy
在示例中,我们使用 INSERT
语句将一行数据插入到指定的表中,并使用 VALUES
子句指定要插入的值。last_insert_rowid()
函数用于返回最后插入的行的主键值。
下面是一个完整的示例,假设我们有一个名为 users
的表,其中包含 id
(主键)、name
和 age
三列:
CREATE TABLE users (
id INTEGER PRIMARY KEY,
name TEXT NOT NULL,
age INTEGER
);
INSERT INTO users (name, age) VALUES ('张三', 25);
SELECT last_insert_rowid();
SQL
Copy
在上面的示例中,我们首先创建了一个名为 users
的表,并指定了 id
列为主键。然后,我们使用 INSERT
语句插入一行数据,并指定了 name
和 age
列的值。最后,我们使用 SELECT
语句和 last_insert_rowid()
函数返回插入的行的主键值。
插入多行数据并返回主键
如果我们要插入多行数据并返回对应的主键,我们可以使用 INSERT
语句和 last_insert_rowid()
函数的组合。下面是一个示例:
INSERT INTO 表名 (列1, 列2, 列3)
VALUES (值1, 值2, 值3),
(值4, 值5, 值6),
(值7, 值8, 值9);
SELECT
last_insert_rowid() - (SELECT COUNT(*) - 1 FROM 表名),
last_insert_rowid()
FROM 表名
LIMIT (SELECT COUNT(*) FROM 表名) - 1, 1;
SQL
Copy
在示例中,我们使用了一个多行 VALUES
子句来同时插入多行数据。然后,我们使用子查询根据已插入的行数计算出每行对应的主键值。
总结
在本文中,我们介绍了如何在 SQLite 数据库中插入一行数据并返回对应的主键。通过使用 INSERT
语句和 last_insert_rowid()
函数