On Duplicate Key not working in SQLite

2019-02-24 22:23发布

In my table, id is the primary key, but this code not working in sqlite3:

insert into text (id,text) VALUES(150574,'Hello') ON DUPLICATE KEY UPDATE 'text' = 'good'

Please help me.

1条回答
来,给爷笑一个
2楼-- · 2019-02-24 22:58

INSERT .... ON DUPLICATE don't exist in SqLite. But you can use INSERT OR REPLACE to achieve the effect like the following.

INSERT 
    OR REPLACE
INTO
    text (id, text)  
VALUES
    (150574,
        (SELECT
           CASE 
              WHEN exists(SELECT 1  FROM text WHERE id=150574)
              THEN 'good' 
              ELSE 'Hello' 
           END
         )
    )

Ref: http://www.sqlite.org/lang_insert.html

查看更多
登录 后发表回答