是否可以从应用程序向 mysql 中的触发器发送附加参数?
我触发了,在删除表中的行之前,将其插入到存档它的表中。
可以说我有
car_rental
id | customer | date_of_rent |
和
car_rental_archive
id | customer | date_of_rent | date_of_return | demaged
car_rental_archive
与 car_rental
具有相同的列,加上 date_of_returned
和 desmaged
我可以像这样使用触发器
CREATE TRIGGER `before_car_rental_delete` BEFORE DELETE ON `car_rental`
FOR EACH ROW BEGIN
INSERT INTO car_rental_archive(
customer, date_of_rent, date_of_return, demaged
) VALUES(
OLD.user, OLD.date_of_rent, NOW(), ???
);
END
damage
属性应该以某种方式作为应用程序的参数插入。这样的事情可能吗,还是我必须从应用程序中处理这个问题 - 不使用触发器?
感谢您的帮助。
最佳答案
只要数据不在数据库中的任何位置,您就无法在触发器中访问它。因此,如果damage
数据是新信息,则遗憾的是不可能在触发器内接收这些值。
但是,如果您的数据库中已经有这些值,则可以照常创建 SELECT 语句并从不同的表中选择它们。
关于java - 将附加参数从应用程序传递给触发器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51751246/