sqlite - 重复键在 SQLite 中不起作用

标签 sqlite duplicates primary-key

在我的表中,id是主键,但此代码在 sqlite3 中不起作用:

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

请帮我。

最佳答案

INSERT .... ON DUPLICATE在 Sqlite 中不存在。但是你可以使用 INSERT OR REPLACE达到如下效果。

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
         )
    )

引用:http://www.sqlite.org/lang_insert.html

关于sqlite - 重复键在 SQLite 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23622504/

相关文章:

android - SQLite Where IN 后跟变量 String

android - 如何从android观察远程sql数据库表中所做的更改

javascript - Titanium sqlite 表数据库

python - 如何在 Pandas 数据框中保留前两个副本?

MySQL LEFT JOIN 返回重复结果

C#:使用 PrimaryKey 从 DataTable 中检索值

c# - 违反 PRIMARY KEY 约束。无法在对象中插入重复的键

c# - C#SQLite语法错误(我是盲人吗?)

database - 使用 pgcrypto 扩展对加密数据的 postgresql 主键约束

java - Java 数组中元素的倍数