我有两张桌子:
tbl1:
============================
ID | TOKEN(indexed)
============================
1 | 2176
2 | 2872
3 | 2881
4 | 1182
tbl2:
=======================
ID | TOKEN_REF
=======================
1 | 2
2 | 3
3 | 1
4 | 1
在每次迭代中,服务器都会收到一个“令牌”,如果没有令牌,则会更新tbl1
,在此示例中,令牌"5241"
需要插入{{1} }}
每当收到令牌(现有或不存在)时,我都需要更新tbl1
tbl2
AUTO_INCREMENT 的内容。
如果令牌是新令牌,请先更新tbl2.ID
,然后仅使用新令牌的ID更新tbl1
。
我正在思考INSERT ON EXIST UPDATE,但我不知道如何将它合并为一个命令。
总结:
我需要在每次迭代中INSERT ON EXIST UPDATE tbl2
,并在单个命令中tbl1
生成INSERT
到ID
。那可能吗?
想法?
答案 0 :(得分:0)
我根据Ondřej的建议准备了一个SQLFiddle,可能会找到here。
在架构中我提出了以下After Insert触发器:
CREATE TRIGGER tbl1_ai AFTER INSERT ON tbl1
FOR EACH ROW
INSERT INTO tbl2(TOKEN_REF)
VALUES(new.ID);