mysql for each row
时间: 2023-07-23 13:15:59 浏览: 173
[数据库] Navicat for MySQL触发器更新和插入操作1
`FOR EACH ROW` 是 MySQL 中的触发器(Trigger)语法,它用于指定在每个受影响的行上执行触发器中定义的操作。当在触发器中指定了 `FOR EACH ROW` 时,MySQL 会为每个受影响的行分别执行触发器中的操作。
举个例子,如果您创建了一个在表中插入新行时触发的触发器,并且在触发器中指定了 `FOR EACH ROW`,则在每次插入新行时,MySQL 都会执行一次触发器中的操作。
以下是一个示例,在 `orders` 表上创建一个 `BEFORE INSERT` 触发器,每次插入新行时都会更新 `order_total` 字段的值:
```sql
CREATE TRIGGER update_order_total BEFORE INSERT ON orders
FOR EACH ROW
BEGIN
SET NEW.order_total = NEW.price * NEW.quantity;
END;
```
这个触发器中的 `FOR EACH ROW` 指定了在每个受影响的行上执行触发器中的操作。在这个例子中,每次插入新行时,MySQL 都会计算 `order_total` 的值,并将其存储在新行中。
阅读全文