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/

相关文章:

ruby-on-rails - SQLite3::BusyException:数据库被锁定:INSERT INTO

android - 当我尝试打开使用 SQLite 的 Activity 时,联系人管理器应用程序崩溃

android - 在 Android 上保存数据 : File Storage vs SQLite Database vs Shared Preferences

c# - 在代码优先 Entity Framework 中将外键包含在复合主键中

swift - Realm 添加具有复合主键错误的对象

python - 如何在 Windows 上使用 Python 将 SQLite 2 转换为 SQLite3?

R对连续的重复行求和并删除除第一个以外的所有行

PHP foreach重复循环问题

sorting - 如何仅按重复项排序

primary-key - 自然键 vs auto_increment 键作为主键