如何在SQL中关联PK与FK?已知case_id如何更新关联表数据?
解决方案
你可以通过两种常见方式,利用已知的case_id关联两张表并完成更新:
方法1:使用子查询
通过子查询从case表中根据已知case_id取出对应的case_uid,再匹配case_test表的记录:
UPDATE case_test SET country = 'Canada' WHERE case_uid = ( SELECT case_uid FROM case WHERE case_id = '你的case_id值' -- 替换为实际的case_id,数字类型可去掉引号 );
如果单个case_id对应多个case_uid(虽然case_id作为主键通常唯一),可以把=改为IN来匹配所有关联记录。
方法2:使用JOIN关联更新
直接通过case_uid关联两张表,通过case表的case_id过滤后更新:
UPDATE case_test JOIN case ON case_test.case_uid = case.case_uid SET case_test.country = 'Canada' WHERE case.case_id = '你的case_id值'; -- 替换为实际的case_id,数字类型可去掉引号
这种方式在处理批量关联更新时效率更高,逻辑也更直观。
内容的提问来源于stack exchange,提问作者Oliver
相关产品推荐
相关产品推荐

