小编Ivo*_*pse的帖子

为什么 INSERT AFTER Trigger 不添加所有结果?

我正在为 db-class.org 编写练习,我们必须编写一个触发器,使新学生自动像同年级的其他人一样被命名为“友好”。也就是说,在触发器运行后,对于与“Friendly”同年级的所有其他高中生 A,我们应该在 Likes 表中包含 ('Friendly', A)。

这是在以下数据集的sqlite 中完成的。现在我的触发器起作用了,但它只添加了一个“友好”喜欢的人,而不是所有人(具有相同等级的人)。

这是我的触发器:

CREATE Trigger Q1
After Insert on Highschooler
For Each Row
When New.Name = 'Friendly'
Begin
    INSERT Into Likes Values (New.ID, (
    SELECT Highschooler.ID FROM Highschooler
    WHERE Highschooler.Grade = New.Grade));
End;
Run Code Online (Sandbox Code Playgroud)

我怀疑我的 INSERT 查询有问题,因为孤立地 SELECT 返回所有 ID。那么我如何确保它插入所有具有匹配成绩的 ID?

sqlite trigger

5
推荐指数
1
解决办法
3419
查看次数

标签 统计

sqlite ×1

trigger ×1