我有一个带有2个表的数据库,如下所示:
cg_resp id | name | email 1 | George | george@yahoo.com
id列是primary_key,autoincremented并且name是unique
id
primary_key
autoincremented
name
unique
和
equip_info id | description | cg_resp_id 1 | Caliper | 1
在申请表中,我有2个编辑框,名称分别为edit_resp_name和edit_resp_email
edit_resp_name
edit_resp_email
如果用户像John电子邮件一样插入一个新的负责人姓名,john@yahoo.com 那么在保存表格的过程中,我想将新的负责人姓名insert插入cg_resp表中,请插入最后一个id并将其更新为equip_info.cg_resp_id。
John
john@yahoo.com
insert
cg_resp
equip_info.cg_resp_id
如果用户保持名称George,但它更新电子邮件一样george01@gmail.com,然后我想update在id从1 =cg_resp使用新的电子邮件地址和他们(其余equip_info.cg_resp_id和cg_resp.id)保持不变。
George
george01@gmail.com
update
cg_resp.id
如果负责人的名称相同,我想保留cg_resp_idfrom表的原始引用equip_info,因此有必要避免类似delete和插入新的情况。
cg_resp_id
equip_info
如何在一个Sqlite sql序列中完成此操作?
使用INSERT OR REPLACE可以完全满足您的要求:当名称不存在时插入新行,否则进行更新。