create trigger in_orders
after insert on orders
for each row
insert into orders_log(
id,
item_id,
amount,
unit_price,
total,
description,
ts,
direction
)
values(
NEW.id,
NEW.item_id,
NEW.amount,
NEW.unit_price,
NEW.total,
NEW.description,
NEW.ts,
'in'
);
after delete on orders
for each row
insert into orders_log(
id,
item_id,
amount,
unit_price,
total,
description,
ts,
direction
)
values(
OLD.id,
OLD.item_id,
OLD.amount,
OLD.unit_price,
OLD.total,
OLD.description,
OLD.ts,
'out'
);
解释:
create trigger in_orders after insert on orders
:定义一个名为in_orders
的触发器,它会在 Orders 表上发生插入操作后触发。for each row
:指定触发器的作用范围为每一行。insert into orders_log
:将插入操作的新记录(NEW
)信息插入到 orders_log 表中。values(NEW.id, ...)
:将新插入的记录的各字段值插入 orders_log 表中,并将direction
字段设为'in'
,表示这是一次插入操作。after delete on orders
:定义当 Orders 表上发生删除操作时的触发器。values(OLD.id, ...)
:将删除操作的旧记录(OLD
)信息插入到 orders_log 表中,并将direction
字段设为'out'
,表示这是一次删除操作。
本文由mdnice多平台发布
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。