如何获得插入行db sqlite

问题描述 投票:0回答:2

我有这个SQL查询

INSERT INTO profile (title, value, account_id) 
VALUES
(5, 'Wass', "wewewewwew"), -- HOMETOWN
(6, 'sadas', "sdsdadkf"), -- HOMETOWN
returning account_id AS result;

我需要将其转换为sqlite,这是我所做的

INSERT INTO `public.profile` (title, value, account_id) 
VALUES
(5, 'Wass', "wewewewwew"), -- HOMETOWN
(6, 'sadas', "sdsdadkf"), -- HOMETOWN

但是我也需要在sqlite查询中返回列。

谢谢

sql sqlite
2个回答
0
投票

我认为在Sqlite中是不可能的。但是您可以使用last_insert_rowid()来返回最后插入记录的ROWID

select last_insert_rowid();

0
投票

SQLite没有RETURNING子句或类似内容,并且不允许CTE中的INSERT。

因此,唯一的解决方案是根据刚刚插入的值进行SELECT:

INSERT INTO public.profile (title, value, account_id) 
VALUES
(5, 'Wass', "wewewewwew"),
(6, 'sadas', "sdsdadkf");

SELECT account_id 
FROM public.profile
WHERE (title, value, account_id) IN ( (5, 'Wass', "wewewewwew"),
                                      (6, 'sadas', "sdsdadkf") );
© www.soinside.com 2019 - 2024. All rights reserved.