我有以下的sqlite数据库:
CREATE TABLE `test` (
`idx` INTEGER PRIMARY KEY AUTOINCREMENT,
`qty` INTEGER,
`brand` TEXT,
`type` TEXT
);
insert into test (qty, brand, type) values (1, "Merc", "petrol");
insert into test (qty, brand, type) values (1, "Toyota", "diesel");
我想插入另一条记录,但如果它存在,那么我想增加qty字段,所以:
insert into test (qty, brand, type) values (1, "Merc", "diesel");
所以只需将qty字段增加一个,然后
insert into test (qty, brand, type) values (1, "Merc", "petrol");
会插入新记录。
答案 0 :(得分:2)
SQLite是一个嵌入式数据库,即它旨在与应用程序一起使用。 最简单的方法是将逻辑放入应用程序中:
db.execute("UPDATE test SET qty = qty + 1 WHERE brand = ? AND type = ?",
["Merc", "diesel"])
if db.rows_affected == 0:
db.execute("INSERT ...")