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/

相关文章:

python - 从 Flask 使用 SQLAlchemy session 引发 "SQLite objects created in a thread can only be used in that same thread"

ruby - 导入数千条记录后无法推送到 Heroku

ios - 用一个 NSMutableArray 中的多个部分填充 tableview

json - Kendo UI 网格插入/更新(再次)创建重复记录

python - 将数字 ID 转换为简短的不同字母数字代码的算法

android - sqlite 中按月分组

java - 显示正确对应的 SQLite 数据库 Android/Java 的数据

android-studio - 错误:APK打包期间文件重复

database - 主键、UUID、RecordKey 表,天哪

python - 使用 df.to_sql 将 pandas 数据帧写入 sqlite 数据库表时如何设置主键