带有SELECT的SQLite INSERT

时间:2015-06-10 08:30:17

标签: sqlite insert insert-into

我遇到INSERT查询问题。我想插入一些固定值作为名称,但也有一些计算值。 一个简单的例子:

INSERT INTO Players 
VALUES('Name', 10.0, SELECT COUNT(*) AS Amount FROM Stack7 WHERE Name LIKE '%Name%', 1.0)

表格玩家:

CREATE TABLE `Players` (
    `Name`  TEXT,
    `Points`    REAL,
    `Games` REAL,
    `Result`    REAL
)

编译说: 在" SELECT":语法错误:

1 个答案:

答案 0 :(得分:3)

将您的选择放入括号:

INSERT INTO Players 
VALUES('Name', 
       10.0, 
       (SELECT COUNT(*) AS Amount FROM Stack7 WHERE Name LIKE '%Name%'), 
       1.0);

通过这种方式,编译器知道select语句定义的一个值的开始位置和结束位置。如果需要,您可以在括号内使用逗号(,)。