Mysql 在SELECT COUNT子查询返回null时插入到
我有一张桌子,里面有练习,每个练习在另一张桌子上有一些插图。我想插入插图,并保持它的“位置”属性秩序。 因此,当我添加插图时,“位置”属性等于给定练习的插图数量,因为位置从0开始 所以我试过这样的方法: 插入插图路径、创建日期、id练习、位置 价值观 2789c0bdda6981fadd87c30af74dfc5d.jpg, 1384104485, 4. 选择COUNTI.id 从插图一 其中I.id\u练习=4 按I.id\U分组练习 这个查询很好,但前提是我已经有了至少一个用于该练习的插图。否则子查询将返回null,我将获得以下错误:“position”列不能为null,这是符合逻辑的。通常,如果select子查询返回null,我会将其置为零。我尝试使用ISNULL,但没有找到正确的语法。有什么建议吗?使用COALESCE将子查询的空结果更改为默认值Mysql 在SELECT COUNT子查询返回null时插入到,mysql,sql,sql-insert,nested-query,Mysql,Sql,Sql Insert,Nested Query,我有一张桌子,里面有练习,每个练习在另一张桌子上有一些插图。我想插入插图,并保持它的“位置”属性秩序。 因此,当我添加插图时,“位置”属性等于给定练习的插图数量,因为位置从0开始 所以我试过这样的方法: 插入插图路径、创建日期、id练习、位置 价值观 2789c0bdda6981fadd87c30af74dfc5d.jpg, 1384104485, 4. 选择COUNTI.id 从插图一 其中I.id\u练习=4 按I.id\U分组练习 这个查询很好,但前提是我已经有了至少一个用于该练习的插图
INSERT INTO illustrations (path, date_creation, id_exercise, position)
VALUES (
"2789c0bdda6981fadd87c30af74dfc5d.jpg",
"1384104485",
"4",
COALESCE((SELECT COUNT(I.id)
FROM illustrations I
WHERE I.id_exercise = 4
), 0)
)
此外,分组方式也没有必要。如果同时有两个插入,这是否有效?