On Duplicate Key not working in SQLite

前端 未结 2 1642

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 U         


        
2条回答
  •  情歌与酒
    2021-01-19 06:53

    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

提交回复
热议问题