【发布时间】:2014-12-23 20:26:14
【问题描述】:
我正在使用 C#、MySQL 来监控一些油箱我目前正在使用一个功能来监控油箱,该功能将三种状态之一分配给每个油箱(良好、警告、严重)。
该程序必须做的一件事是在油箱状态发生变化时发送电子邮件。我需要帮助的是如何比较 2 个不同表中的油箱状态以确定状态是否已更改。
这是我正在使用的两个表:
油箱表
tank_number INT,
station_id int,
ip_address varchar(30),
product varchar(30),
alert_level1 int,
alert_level2 int,
gallons int,
date,
status
状态表
ip_address varchar(30),
status varchar(5),
gallons int,
tank_number int,
date
【问题讨论】:
-
状态表中每个坦克是否有多个条目,还是一对一的?
-
没有坦克表每 15 分钟更新一次,所以每个坦克只有一个状态
-
@PaulBulling,您可以在状态表上添加更新后触发器,并在此处设置检查逻辑。根据您的知识,您可以进一步选择在何处实施电子邮件发送机制。但是对于状态变化检测,触发器可能会有所帮助。
-
不是一个好主意。但是使用触发器更新另一个表以仅存储 tank_number 和 old_status。并在从 C# 读取时删除指定的行。
-
@PaulBulling 状态表似乎是油箱表的子集,如果您不是状态中的字符串审计级别数据,那么状态表有什么用?