java - 传递附加参数以从应用程序触发
问题描述
是否可以从应用程序发送其他参数以在 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
demaged
我可以像这样使用触发器
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
该demaged
属性应该以某种方式作为来自应用程序的参数插入。这样的事情是否可能,或者我必须从应用程序中处理这个问题 - 不为此使用触发器?
感谢帮助。
解决方案
只要数据不在数据库中的任何位置,您就无法在触发器中访问它。因此,如果damage
数据是新信息,不幸的是不可能在触发器中接收这些值。
但是,如果您在数据库中的某处已经有这些值,您可以像往常一样制作 SELECT 语句并从不同的表中选择它们。
推荐阅读
- javascript - 如何使用 JavaScript 更改所有 div 的样式属性?
- html - 如何在flexbox中的另一个div下面获取一个div
- c++ - 使用开关找到 3 个变量中的最大值
- jsf - 如何在 xhtml 中仅使用一种语言限制图像
- c# - Entity framework core multipleDbContext code-first migration of shared entity
- java - 在Java中将二维数组的索引添加到列表的末尾
- spring-cloud-dataflow - Spring Cloud Data Flow - Http --> HttpClient(传递标头)
- spring - 如何生成一个随机字符串并使用 Mono 将其推出以每隔 X 秒或通过 Spring Reactive 随机延迟显示在浏览器中?
- python - 计算 DataFrame 的 2x2 行列组的平均值
- javascript - React 通过名称数组获取选择值