場景是這樣的,我有KV型的表,建表語句如下:
數據大概是這樣的:
+----+----+-----------+
| k1 | k2 | val |
+----+----+-----------+
| 1 | 1 | value 1-1 |
| 1 | 2 | value 1-1 |
| 1 | 3 | value 1-1 |
| 1 | 5 | value 1-1 |
| 1 | 7 | value 1-1 |
+----+----+-----------+
當我插入一條數據時,我要判斷(k1,k2)是否已經存在(1條selete),若存在就update,不存在就insert,這是一個典型的merge過程,雖然按照PK執行操作的速度非常快,但是畢竟SQL交互量上去了,如果我有100筆這樣的SQL,那這個開銷是很可觀的,有沒有什么一條SQL就能搞定的事情呢?
有兩種寫法:
第一種: insert into … on duplicate key update
第二種 replace into:
最終都能將數據改成這樣:
新聞熱點
疑難解答