【发布时间】:2021-06-01 17:40:25
【问题描述】:
使用 sqlite
我需要插入整条记录。如果它已经存在,则应忽略该记录。
如果我使用下面的命令,通知“id_key”号码,它会按预期工作:
INSERT OR REPLACE INTO contatos ('id_key', 'VERSION', 'FN', 'N', 'EMAIL')
VALUES (209, '2.1', 'bla bla', 'bla;bla;;;', 'bla@x.com');
但是如何在不通知自动递增的“id_key”字段的值的情况下重现此行为。如果我使用这样的代码,如果数据已经存在,它会重复数据:
INSERT OR REPLACE INTO contatos ('id_key', 'VERSION', 'FN', 'N', 'EMAIL')
VALUES (NULL, '2.1', 'bla bla', 'bla;bla;;;', 'bla@x.com');
我的桌子:
CREATE TABLE "contatos" (
"id_key" INTEGER NOT NULL,
"VERSION" TEXT,
"FN" TEXT,
"N" TEXT,
"EMAIL" TEXT,
"TEL;WORK" TEXT,
"TEL;HOME" TEXT,
"TEL;CELL" TEXT,
"PHOTO;ENCODING=BASE64;JPEG" TEXT,
"EMAIL;HOME" TEXT,
"ADR;HOME" TEXT,
"TEL;VOICE" TEXT,
"TEL;PREF" TEXT,
"TEL;X-Celular" TEXT,
"EMAIL;PREF" TEXT,
"TEL;X-Antigo" TEXT,
"ORG" TEXT,
"TEL;X-WhatsApp" TEXT,
PRIMARY KEY("id_key" AUTOINCREMENT)
);
【问题讨论】:
标签: sqlite replace insert primary-key