MySQL:原表修改后,如何更新关联表
2017-08-24 11:53
162 查看
去掉两表关联字段的首尾空格
检查表 a 是否有重复数据
有,则去重(去重规则按实际要求,此处只保留 id 最小的一条记录)
修改表 b 中关联的 a.name ,修改关联的 a.id(数据量大时,该 SQL 执行速度较慢)
UPDATE db.table_a SET name=REPLACE(name,' ','') UPDATE db.table_b SET name=REPLACE(name,' ','')
检查表 a 是否有重复数据
SELECT name FROM db.table_a GROUP BY name HAVING COUNT(name)>1
有,则去重(去重规则按实际要求,此处只保留 id 最小的一条记录)
DELETE FROM db.table_a WHERE id NOT IN( SELECT minid FROM(SELECT MIN(id) as minid FROM db.table_a GROUP BY name) a )
修改表 b 中关联的 a.name ,修改关联的 a.id(数据量大时,该 SQL 执行速度较慢)
UPDATE db.table_b b,db.table_a a SET b.id = a.id WHERE b.name = a.name
相关文章推荐
- 如何在mac下修改mysql的编码
- mysql忘记root密码且忘了安装目录如何修改root密码
- ZT.如何修改遗失MYSQL的ROOT用户密码
- MySQL安装后,如何找到my.ini文件以及修改编码方式
- 如何修改WAMP中mysql默认空密码
- mysql中如何实现字段的添加、修改、删除
- 如何修改WAMP中mysql默认空密码 修改
- ABAP--如何实现交货单的任何一item库位发生人工修改时系统自动更新所有items(感谢天元提供)
- Mysql 修改数据库 User 表 如何立即生效
- 如何修改mysql root密码
- 如何修改Mysql中group_concat的长度限制
- mysql 忘记密码如何修改
- 如何修改mysql 并发数
- [MySQL]如何修改mysql root密码
- MySQL修改密码的多种方式和忘记密码时该如何操作
- 如何修改WAMP中mysql默认空密码的方法
- 如何解决安卓SDK无法下载Package的问题-修改google更新地址
- mysql update 两个表关联{两个关联表如何更新其中一个表的数据}
- MySQL 如何实现插入时如果不存在则插入,如果存在则更新的操作?
- UBUNTU如何修改mysql的默认目录数据目录