SQLite INSERT SELECT

SQLite INSERT with SELECT

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

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

Table 玩家:

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

编译器说: 在 "SELECT" 附近:语法错误:

将您的 select 放在方括号中:

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

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