我有一张桌子,里面有练习,每个练习在另一张桌子上有一些插图。我想插入插图并使用“位置”属性对其进行排序。因此,当我添加插图时,“位置”属性等于给定练习的插图数量(因为位置从 0 开始)。
所以我尝试了类似的方法:
INSERT INTO illustrations (path, date_creation, id_exercise, position)
VALUES (
"2789c0bdda6981fadd87c30af74dfc5d.jpg",
"1384104485",
"4",
(SELECT COUNT(I.id)
FROM illustrations I
WHERE I.id_exercise = 4
GROUP BY I.id_exercise
)
)
此查询工作正常,但前提是我已经至少有一个练习插图。否则,子查询返回 null,我得到这个错误:“列'位置'不能为空”,这是合乎逻辑的。通常,如果选择子查询返回 null,我会输入零。我尝试使用 ISNULL() 但找不到正确的语法。有什么建议吗?