按关系(外键)SQLite更新其他列值

时间:2013-10-11 17:26:41

标签: c# sqlite

我们如何更改(更新)子表列值当我们使用外键更改SQLite数据库中父表的列中的值时?

2 个答案:

答案 0 :(得分:1)

通用公式如下:

1.  Disable or remove the FK constraint.
2.  Update the Parent PK, but keep a list of the Old_PK and the New_PK values.
3.  Update the child records using the New_PK(s), but matching on the Old_PK values.
4.  Enable or re-add the FK constraint.

答案 1 :(得分:1)

使用触发器:

CREATE TRIGGER parent_update
AFTER UPDATE OF primary_key ON parent_table
BEGIN
    UPDATE child_table SET parent_key=NEW.primary_key WHERE parent_key=OLD.primary_key;
END;