项目场景:
用一句sql同时修改有关联的两张表数据
问题描述:
通过一张表的其中一个字段去修改这张表的数据同时修改关联表的数据,不去写两次修改。因为有可能在修改数据的时候可能产生异常,导致表1的数据修改了,表2的数据未修改,所以可以用到连表修改
//连表修改
UPDATE mixrecord a,mix_record_batch b SET a.id_card = 4302811998 ,b.batch = "这个批次才是对的" WHERE a.batch = b.batch;
//同理连表删除也是一样的。
//delete后面是要删除的列,from后面是要删除的表名,where后面做删除条件。
//值得注意的是,连表删除好像不能用别名。
DELETE mixrecord,mix_record_batch FROM mixrecord , mix_record_batch WHERE mixrecord.batch = mix_record_batch.batch;
解决方案:
如果有更好的方法当我没说。