亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

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

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

SQLite中的“插入如果不存在”語句我有一個SQLite數據庫。我試圖插入值(users_id, lessoninfo_id)在餐桌上bookmarks,只有在這兩者都不存在的情況下才行。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錯誤。
查看完整描述

3 回答

?
慕村225694

TA貢獻1880條經驗 獲得超4個贊

對于唯一的列,請使用以下內容:

INSERT OR REPLACE INTO table () values();

有關更多信息,請參見:org/lang_INSERT


查看完整回答
反對 回復 2019-07-03
?
哈士奇WWW

TA貢獻1799條經驗 獲得超6個贊

如果您不希望有重復項,則應該將其聲明為表約束:

CREATE TABLE bookmarks(
    users_id INTEGER,
    lessoninfo_id INTEGER,
    UNIQUE(users_id, lessoninfo_id));

(兩列上的主鍵具有相同的效果。)

然后,就可以告訴數據庫您想要悄悄的忽略違反這種約束的記錄。:

INSERT OR IGNORE INTO bookmarks(users_id, lessoninfo_id) VALUES(123, 456)


查看完整回答
反對 回復 2019-07-03
  • 3 回答
  • 0 關注
  • 1574 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號