3
我有两个表:插入一个外键,失踪键,更新
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"
将需要插入tbl1
。
我需要更新tbl2
其中tbl2.ID
是AUTO_INCREMENT每当收到一个令牌(存在或不存在)。
如果令牌为新令牌,则首先更新tbl1
,然后仅使用新令牌的标识更新tbl2
。
我在想INSERT ON EXIST UPDATE,但我不知道如何将它合并成一个命令。
总结:
我需要在每次迭代INSERT ON EXIST UPDATEtbl1
和INSERT
所得ID
成tbl2
在单个命令。那可能吗?
想法?
你需要在不同的表,以保持这些?使用'ID | TOKEN | TOKEN_REF'有一张表会更清洁,并且你可以使用带有'ON DUPLICATE KEY UPDATE'子句的插入来增加ref计数器。 – fejese
唉,还有其他的表使用了令牌引用ID以及 – Ted
是触发器的一个选项吗?那么你可以在'tbl1'上做一个插入操作,忽略是否已经有一个入口,并在'tbl2'中用'token_ref = 0'在需要的情况下用触发器创建一个入口,然后始终运行更新。可能不是最有效的,但不会做你想问的问题:) – fejese