搜尋

首頁  >  問答  >  主體

mysql - 在 sqlite 中如何完成“如果某列存在则 select,否则 insert”这样的原子操作?

只知道 replace into 的功能,不知道怎样 select。

大家讲道理大家讲道理2777 天前633

全部回覆(1)我來回復

  • 黄舟

    黄舟2017-04-17 11:36:25

    INSERT OR REPLACE INTO TABLE name (f1, f2, f3) VALUES (v1, v2, v3)

    嗯,看錯題了,我還以為是insert or update,結果是select or insert。

    select or insert除了開transaction之外,我一時也沒想出什麼好辦法,不過倒是有個select with default value的方案

    select id, f1, f2 from sometable where id=3 union
    select 999 as id, 'default_value1' as f1, 'default_value2' as f2
    where not exists (select 1 from sometable where id=3)
    

    999是id的default value

    回覆
    0
  • 取消回覆