小编典典

Sqlite:如果不存在则插入,如果存在则更新

sql

我有一个带有2个表的数据库,如下所示:

cg_resp
id  | name   | email
1   | George | george@yahoo.com

id列是primary_keyautoincremented并且nameunique

equip_info
id  | description  | cg_resp_id 
1   | Caliper      | 1

在申请表中,我有2个编辑框,名称分别为edit_resp_nameedit_resp_email

如果用户像John电子邮件一样插入一个新的负责人姓名,john@yahoo.com
那么在保存表格的过程中,我想将新的负责人姓名insert插入cg_resp表中,请插入最后一个id并将其更新为equip_info.cg_resp_id

如果用户保持名称George,但它更新电子邮件一样george01@gmail.com,然后我想updateid从1
=cg_resp使用新的电子邮件地址和他们(其余equip_info.cg_resp_idcg_resp.id)保持不变。

如果负责人的名称相同,我想保留cg_resp_idfrom表的原始引用equip_info,因此有必要避免类似delete和插入新的情况。

如何在一个Sqlite sql序列中完成此操作?


阅读 516

收藏
2021-04-14

共1个答案

小编典典

使用INSERT OR
REPLACE
可以完全满足您的要求:当名称不存在时插入新行,否则进行更新。

2021-04-14