Đây có lẽ không phải là cách tiếp cận đúng. Ý tôi là, bạn có thể thiết lập một sự kiện được xử lý cho mọi hàng, nhưng điều đó có thể thêm rất nhiều tải vào cơ sở dữ liệu của bạn.
Thay vào đó, nếu status
chỉ đơn thuần nói rằng hàng đó ít hơn hoặc hơn một ngày tuổi, hãy đặt ngày tạo vào bảng và sử dụng chế độ xem:
create view v_table as
select t.*, (creation_date >= date_sub(now(), interval 1 day) as status
from table t;
Nếu status
có thể được thay đổi bằng cách khác, sau đó gọi nó như _status
và làm:
create view v_table as
select t.*,
(case when creation_date >= date_sub(now(), interval 1 day then 1 else _status end) as status
from table t;