【发布时间】:2020-05-11 06:08:17
【问题描述】:
我在为我的 sqlite 项目格式化更新触发器时遇到问题。
该项目有2张桌子。一张表名为Equipment,有3个字段:
- UnitID
- Last_PMI
- Preset_Hrs
另一个表名为ESPModules,它也有3个字段:
- UnitID (FK)
- ESPModuleID
- Install_Date
我在ESPModules 表上设置了一个更新触发器,每次我更改ESPModules 表中的UnitID 字段时都会触发该触发器。 UnitID 字段与设备表具有一对一的关系。 (两个表只允许一个唯一的UnitID)
我的触发器实际上触发了,但我不知道如何引用ESPModules 表中的UnitID 字段。以下是我目前所拥有的,这段代码在触发时会更新设备记录:
UPDATE Equipment
SET Last_PMI = date('now'),
Preset_Hrs = 0
WHERE UnitID = "BT-109F"
UPDATE Equipment
SET Last_PMI = date('now'),
Preset_Hrs = 0
WHERE UnitID = ESPModules.UnitID;
但问题是我需要像上面那样引用我的ESPModules.UnitID 字段:(换句话说,作为一个例子,当我输入现有的UnitID 像“BT-109F”时,它会触发但不会触发当我尝试引用我正在更新和保存的字段时工作。它抛出此错误:“提交数据时发生错误:没有这样的列:ESPModules.UnitID
我是 sql 语言的新手,希望在正确格式化此更新查询方面得到一些帮助。
谢谢
部落
【问题讨论】:
标签: sql sqlite sql-insert database-trigger