插入或忽略记录

时间:2016-12-07 11:51:59

标签: sqlite

我有一张桌子

CREATE TABLE "myTable" (
    "id" INTEGER NOT NULL, 
    "name" VARCHAR,
    PRIMARY KEY ("id")
)

让我们说它有1条记录

1 - James

我想插入一条新记录。如果它不存在,请插入它。如果是的话,什么也不做。 我不确定以下查询是否是正确的方法:

INSERT or IGNORE INTO myTable(id, name) VALUES(1, "Tom");

我试过了,但我没有收到任何错误..

2 个答案:

答案 0 :(得分:0)

您使用了INSERT IGNORE,并且实际上不会插入该行,因为它会导致重复键。您的id列是PRIMARY KEY,并且您已经将值1存储在数据库中。

该声明不会产生错误,但会产生警告。

答案 1 :(得分:0)

您的陈述适用于您想要做的事情。但是,您不需要在SQLite中为id提供值。你可以这样做:

INSERT INTO myTable(name)
    VALUES('Tom');

这会自动增加id,因此您不必担心重复。