mysql table中设置a,b,c3个量,实现a=b+c,b=a-c,c=a-b,应该怎么设置
时间: 2023-10-23 14:09:45 浏览: 35
你可以在 MySQL 中创建一个名为 `mytable` 的表,包含三个列:`a`、`b` 和 `c`。然后,你可以使用 MySQL 中的触发器来实现 `a=b+c`、`b=a-c` 和 `c=a-b` 的逻辑。以下是具体的步骤:
1. 创建 `mytable` 表:
```
CREATE TABLE mytable (
a INT,
b INT,
c INT
);
```
2. 创建触发器:
```
CREATE TRIGGER update_a AFTER INSERT ON mytable
FOR EACH ROW
BEGIN
UPDATE mytable SET a = b + c WHERE (NEW.a IS NULL OR NEW.a != b + c) AND NEW.b IS NOT NULL AND NEW.c IS NOT NULL;
END;
CREATE TRIGGER update_b AFTER INSERT ON mytable
FOR EACH ROW
BEGIN
UPDATE mytable SET b = a - c WHERE (NEW.b IS NULL OR NEW.b != a - c) AND NEW.a IS NOT NULL AND NEW.c IS NOT NULL;
END;
CREATE TRIGGER update_c AFTER INSERT ON mytable
FOR EACH ROW
BEGIN
UPDATE mytable SET c = a - b WHERE (NEW.c IS NULL OR NEW.c != a - b) AND NEW.a IS NOT NULL AND NEW.b IS NOT NULL;
END;
```
这里创建了三个触发器,分别用于实现 `a=b+c`、`b=a-c` 和 `c=a-b` 的逻辑。每个触发器都在插入数据后执行,对应的 `UPDATE` 语句会根据当前插入的值计算出其他两个列的值。
现在,当你向 `mytable` 表中插入一行数据时,触发器会自动计算出其他两个列的值,从而实现 `a=b+c`、`b=a-c` 和 `c=a-b` 的逻辑。