sqlite3 - 将自动增量字段复制到INSERT上的其他列

时间:2016-07-11 14:45:26

标签: triggers sqlite auto-increment

在插入行后,是否有更高效的方法将自动增量字段值复制到另一个字段? 我想用触发器自动完成它,但我对它们的知识不足以确定我的代码。

this answer (for mysql)不计算它在查询中,我不知道它是否适用于多行

这是表格:

CREATE TABLE IF NOT EXISTS commenti ( 
  id INTEGER PRIMARY KEY AUTOINCREMENT, 
  content TEXT COLLATE NOCASE, 
  idcommento INTEGER REFERENCES commenti (id) 
    ON DELETE CASCADE ON UPDATE CASCADE);

这是我正在使用的触发器:只有在查询中值为null时才会将id(自动增量字段)复制到idcommento

CREATE TRIGGER set_comment_to_self AFTER INSERT ON commenti
WHEN NEW.idcommento IS NULL 
BEGIN
  UPDATE commenti SET idcommento = NEW.id WHERE id = NEW.id;
END;

我不知道我是否可以使用某种简单NEW.idcommento = NEW.id而不是每次都在所有表格中搜索......

0 个答案:

没有答案