要根据其他字段设置或更新字段的默认值,可以使用计算字段(Computed Field)或触发器(Trigger)来实现。
计算字段是根据其他字段的值自动计算并设置当前字段的值。以下是一个示例代码:
CREATE TABLE my_table (
id INT,
field1 INT,
field2 INT,
field3 INT,
field4 INT AS (CASE
WHEN field1 = 1 THEN field2 + field3
ELSE field2 - field3
END)
);
在上面的示例中,field4
的默认值是根据 field1
、field2
和 field3
的值计算得出的。
触发器是在插入、更新或删除数据时自动触发并执行一系列操作。以下是一个示例代码:
CREATE OR REPLACE FUNCTION update_field4()
RETURNS TRIGGER AS $$
BEGIN
IF NEW.field1 = 1 THEN
NEW.field4 := NEW.field2 + NEW.field3;
ELSE
NEW.field4 := NEW.field2 - NEW.field3;
END IF;
RETURN NEW;
END;
$$ LANGUAGE plpgsql;
CREATE TRIGGER update_field4_trigger
BEFORE INSERT OR UPDATE ON my_table
FOR EACH ROW
EXECUTE FUNCTION update_field4();
在上面的示例中,当插入或更新数据时,触发器会根据 field1
、field2
和 field3
的值设置或更新 field4
的值。
以上是根据其他字段设置或更新字段默认值的两种解决方法。根据具体情况选择适合的方法来实现你的需求。
上一篇:ACF - 更新字段名称和键