On Duplicate Key not working in SQLite

前端 未结 2 1616

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:49

    Since SQLite version 3.24.0 (released 2018-06-04) there is ON CONFLICT support modeled after PostgreSQL. See documentation for more details.

    0 讨论(0)
  • 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

    0 讨论(0)
提交回复
热议问题