表結構以下:sql
假設想要實現當記錄存在時account值加1,而記錄不存在時插入記錄,能夠這樣來實現:3d
INSERT INTO A (ID, username, account) VALUES (1, 'aa', 0) ON conflict (ID) DO UPDATE SET account = A .account + 1;
連續執行兩次以後能夠看到結果:code
第一次記錄不存在,因此建立了一條新紀錄,並設置account值爲0;第二次記錄存在,則將account值加1了。blog
不過在執行上述語句以前要確保on conflict操做的字段必須有unique屬性或者其餘的約束條件,否則就會出現相似於如下的錯誤:class