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