我想做这样的事情
INSERT INTO link_list(link, status, hash_type, hash_id)
VALUES(@link, @status, @hash_type, @hash_id);
INSERT INTO active_dl(fileId, orderNo)
VALUES(last_insert_rowid(), SELECT COUNT(*) FROM active_dl);
但显然这是错误的,并且选择时出现语法错误。我怎么写这个?使用sqlite。
答案 0 :(得分:1)
将SELECT查询放在括号括号中。
像这样:
INSERT INTO active_dl(fileId, orderNo)
VALUES(last_insert_rowid(), (SELECT COUNT(*) FROM active_dl));
答案 1 :(得分:0)
你为什么不试试:
DECLARE @var INT
SET @var = (Select Count(*) from active_dl)
INSERT INTO active_dl(fileId, orderNo)
VALUES(last_insert_rowid(), @var);
答案 2 :(得分:0)
你有没有尝试过:
...
VALUES(last_insert_rowid(), (SELECT COUNT(*) FROM active_dl)); <--- with parens
我不认为知道sqlite,但也许这可以帮助
答案 3 :(得分:0)
我相信标准SQL允许您使用 <{em> values
或select
作为insert
,所以我会关注:
insert into active_dl(fileId, orderNo)
select last_insert_rowid(), COUNT(*) FROM active_dl;
SQLite是否允许这样做我不确定,因此社区维基。