加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

“在SQLite中插入如果不存在”语句

发布时间:2020-12-12 19:19:35 所属栏目:百科 来源:网络整理
导读:我有一个sqlite数据库。我试图在表书签中插入值(users_id,lessoninfo_id),只有在一行中不存在。 INSERT INTO bookmarks(users_id,lessoninfo_id) VALUES( (SELECT _id FROM Users WHERE User='"+$('#user_lesson').html()+"'),(SELECT _id FROM lessoninfo
我有一个sqlite数据库。我试图在表书签中插入值(users_id,lessoninfo_id),只有在一行中不存在。
INSERT INTO bookmarks(users_id,lessoninfo_id) 
VALUES(
    (SELECT _id FROM Users WHERE User='"+$('#user_lesson').html()+"'),(SELECT _id FROM lessoninfo 
        WHERE Lesson="+lesson_no+" AND cast(starttime AS int)="+Math.floor(result_set.rows.item(markerCount-1).starttime)+") 
        WHERE NOT EXISTS (
            SELECT users_id,lessoninfo_id from bookmarks 
            WHERE users_id=(SELECT _id FROM Users 
            WHERE User='"+$('#user_lesson').html()+"') AND lessoninfo_id=(
                SELECT _id FROM lessoninfo
                WHERE Lesson="+lesson_no+")))

这给出错误说在附近语法的db错误。

如果你有一个名为memos的表有两列id和文本,你应该能这样做:
INSERT INTO memos(id,text) 
SELECT 5,'text to insert' 
WHERE NOT EXISTS(SELECT 1 FROM memos WHERE id = 5 AND text = 'text to insert');

如果记录已包含文本等于“要插入的文本”的行,并且id等于5,则插入操作将被忽略。

我不知道这是否适用于您的特定查询,但也许它给你一个提示如何继续。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读