考虑两个具有多对多关系的表:
Company Speciality
--------- ---------
id id
--------- ---------
1 21
2 22
3 23
4
CompanySpeciality
--------------------------
company_id | speciality_id
--------------------------
1 | 21
1 | 22
4 | 21
4 | 23
我想删除公司 4,并将其专业与公司 1 相关联。如果我在 CompanySpeciality 上使用简单的 UPDATE 语句来设置“company_id = 1 WHERE company_id=4”,我将面临主要的违规行为,因为对 1| 21 已经存在。
是一种用单个查询更新关系表的方法吗?此查询应该只影响不会重复的行。
结果将是:
CompanySpeciality
--------------------------
company_id | speciality_id
--------------------------
1 | 21
1 | 22
1 | 23