小编VbN*_*VbN的帖子

创建触发器 MySql 更新或插入另一个表

我正在尝试更多地了解 mysql 中的触发器,所以请耐心等待。我有两张桌子,

TestTable  
 (id INTEGER PRIMARY KEY AUTO_INCREMENT, ItemId INTEGER,Date date, Value REAL)

TestTable2
 (id INTEGER PRIMARY KEY AUTO_INCREMENT, ItemId INTEGER,Year INTEGER, Month INTEGER, Open REAL, Close REAL, Increase REAL)
Run Code Online (Sandbox Code Playgroud)

其中表 TestTable 是特定日期某个项目的测量值。测试表 2 包含特定月份、年份的测量值以及此期间的增量。

我想创建一个触发器,当我将值插入到 TestTable 中时,它会更新或将值插入到 TestTable2 中。

这就是我尝试创建的触发器的样子,

CREATE TRIGGER 'monthUpdateTrigger' AFTER INSERT ON TestTable 
BEGIN 
IF NOT (EXISTS (SELECT 1 FROM TestTable2 WHERE 
(ItemId=NEW.ItemId AND Year=YEAR(NEW.Date) AND Month=MONTH(NEW.Date)))) 
THEN 
    INSERT INTO TestTable2 (ItemId,Year,Month,Open,Close,Increase ) VALUES 
    (NEW.ItemId , YEAR(NEW.Date), MONTH(NEW.Date),NEW.Value,NEW.Close,0.0); 
ELSE
    UPDATE TestTable2 SET Close=NEW.Close AND …
Run Code Online (Sandbox Code Playgroud)

mysql trigger

6
推荐指数
1
解决办法
6万
查看次数

标签 统计

mysql ×1

trigger ×1