创建触发器:通过将数据插入另一个 table 行来更新 table 列

Create Trigger : update table column by inserting data into another table rows

请帮我创建触发器, 我有 2 table 个

data
+---------+------------+-------+-------+
| id | info_id | rate  | qty   | total |
+----+---------+------------+----------+
| 80 |    10   | 150   |   5   |  750  |
+----+---------+-------+-------+-------+
| 81 |    10   | 50    |   5   |  250  |
+--------------+-------+-------+-------+

info
+---------+---------------+------------+
| id  |  name  |  gtotal  |  dated     |
+-----+--------+----------+------------+
| 10  |  Hari  |     NULL | 2021-05-15 |
+---------+------------+---------------+

我想通过 phpmyadmin 创建一个触发器,一旦数据被插入,然后 info.gtotal 将通过从 [=24= 匹配的 info_id 添加 data.total 来更新] 名称-数据。

如果数据更新也发生,将触发什么。我只想创建两个触发器。

我是新手,请帮助我。接受任何帮助。

您需要创建两个触发器,一个用于插入,另一个用于更新。

CREATE TRIGGER `insert_trigger`
AFTER INSERT ON `data`
FOR EACH ROW

UPDATE info
SET gtotal = gtotal + new.total
WHERE id = new.info_id;

Here new.info_id will have the info_id value of newly insert record

CREATE TRIGGER `update_trigger`
AFTER UPDATE ON `data`
FOR EACH ROW

UPDATE info
SET gtotal = (gtotal - old.total) + new.total
WHERE id = new.info_id;

Here old.total will have the total value of record before updating. new.total is the total value after updation.

由于您没有说明更新后要做什么,我添加了从旧总计中减去总计并添加新总计值的逻辑。根据您的要求进行更改。

您还可以在 phpmyadmin 中使用 GUI 创建这些触发器。您必须 select 菜单栏中的触发器并添加触发器定义。