delimiterCREATE TRIGGER tr_itemInsert BEFORE INSERT on item FOR EACH ROW BEGIN IF SELECT FROM orders WHERE id=NEWorder_idTHEN UPDATE orders SET amount=amount+newitemtotal_price; ELSE INSERT or
This trigger is designed to automatically update the orders table whenever a new item is added to it.
The trigger is set to run before an insert on the item table, and it will execute once for each row that is being inserted.
The trigger first checks to see if an order already exists for the item being inserted. If an order is found, the trigger updates the amount field in the orders table by adding the total price of the new item.
If no order is found for the new item, the trigger creates a new order record in the orders table, using the order_id from the new item, a customer_id of 15, and a create_time of NOW(). The amount field is set to the total price of the new item and the paid_day field is also set to NOW(). The status field is set to 1, indicating that the order has been paid.
The trigger is enclosed in a delimiter statement, which sets the delimiter to a forward slash (/) at the beginning and end of the trigger code. This is necessary to ensure that the MySQL server can properly parse and execute the trigger code
原文地址: https://www.cveoy.top/t/topic/g8pK 著作权归作者所有。请勿转载和采集!