我有以下代码片段创建一个触发器,从同一个表中的任何其他行中提取一些信息,并使用与新添加的行相同的repldict={line.strip() for line in open(syspath+'/rules.txt', 'r')}
:
hash
但是,出于某种原因,SQLite doesn't support这样做了。我能看到做我想要的唯一方法似乎是为每个需要更新的值进行单独选择,如下所示:
CREATE TRIGGER if not exists tr
after insert ON images
BEGIN
WITH a AS ( SELECT * FROM images WHERE hash = new.hash )
update images set
categories = a.categories,
quality = a.quality,
ide = a.ide,
drawing = a.drawing,
ide_commentary = a.ide_commentary,
priority = a.priority
where rowid = new.rowid;
END
但这在每个级别上都很糟糕。有没有更好的方法呢?