这基本上就是我的数据库的样子
ID | descendant | father | mother --------------------------------- 1 X Y Z 2 Y A B
字母X,Y,Z,A,B代表一些代码或数字
例如,如果我在第 1 行 (ID=1) 中将代码 Y 更改为 R,如果我在第 2 行中自动将 Y 更改为 R,我想将代码 Y 的每个字段更改为代码 R,反之亦然将在第 1 行将 Y 更改为 R
最重要的是,如果某些代码更改为另一个代码,例如我将 Y 更改为 R 或 G 等等,数据库中具有代码 Y 的每条记录都应更改为 R 或 G。
我可以用触发器来做到这一点吗?或者可以使用其他什么方式。 (我的用户可以通过我的 C# 应用程序更改记录)
最佳答案
使用triggers像这样,每个字段一个:
CREATE TRIGGER update_descendant
AFTER UPDATE OF descendant ON MyTable
BEGIN
UPDATE MyTable SET descendant = NEW.descendant WHERE descendant = OLD.descendant;
UPDATE MyTable SET father = NEW.descendant WHERE father = OLD.descendant;
UPDATE MyTable SET mother = NEW.descendant WHERE mother = OLD.descendant;
END;
(如果 descendant
列是唯一的,则不需要更新它。)
关于c# - 使用触发器更改数据库中的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13636463/