工作中遇到了一个问题,邮件系统群发失败,后来经过排查查找到了原因

原来是因为mysql中的两张表的关联字段竟然不一致,

表A

mysql> desc rm_user_router;
+------------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+------------+-------------+------+-----+---------+-------+
| CORPID | int(10) | NO | PRI | NULL | |
| LOGINNAME | varchar(60) | NO | PRI | NULL | |
| UIN | int(10) | NO | MUL | NULL | |
| SPID | int(10) | NO | | NULL | |
| MIID | int(10) | NO | | NULL | |
| ASID | int(10) | NO | | 0 | |
| FLAG | int(1) | NO | | 0 | |
| REGISTERID | varchar(60) | NO | | NULL | |
| STATUS | int(2) | NO | | NULL | |
| RES1 | int(10) | NO | | 0 | |
| RES2 | int(10) | NO | | 0 | |
| CREATETIME | datetime | NO | | NULL | |
+------------+-------------+------+-----+---------+-------+

表B

mysql> desc rm_group_info;
+----------------+---------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------------+---------------+------+-----+---------+-------+
| UIN | int(10) | NO | PRI | NULL | |
| CORPID | int(10) | NO | MUL | NULL | |
| GROUPID | varchar(60) | NO | | NULL | |
| GROUPNAME | varchar(32) | YES | | NULL | |
| MAXMEMBERNUM | int(10) | YES | | 0 | |
| CURMEMBERNUM | int(10) | YES | | 0 | |
| STATUS | int(2) | YES | | 0 | |
| FLAG | int(2) | YES | | 0 | |
| RECVTYPE | int(2) | YES | | 0 | |
| CREATETIME | datetime | NO | | NULL | |
| MODIFYTIME | datetime | NO | | NULL | |
| WHITELIST | varchar(2000) | YES | | NULL | |
| BLACKLIST | varchar(2000) | YES | | NULL | |
| join_privilege | int(10) | YES | | 0 | |
| exit_privilege | int(10) | YES | | 0 | |
| is_auto | int(1) | NO | | 0 | |
+----------------+---------------+------+-----+---------+-------+

其中两张表的UIN字段竟然不一致,现在需要解决的是rm_group_info表格中的groupnam字段的uin要和rm_user_router表格中的loginname字段的uin要一致

1.先备份2张表

2.更新同步数据

update rm_user_router inner join rm_group_info on rm_user_router.loginname=rm_group_info.groupname set rm_group_info.uin=rm_user_router.uin;

  

Mysql两张表的关联字段不一致的更多相关文章

  1. Oracle:同步两张表的相同字段

    有一个需求需要同步两张表的相同字段,比如表A和表B,这两张表是不同的用户下的表,表结构是一样的. 一开始我简单写了一个sql语句,如下: update ord_log1 A set (A.pid, A ...

  2. MySQL 两张表关联更新(用一个表的数据更新另一个表的数据)

    有两张表,info1, info2 . info1: info2: 现在,要用info2中的数据更新info1中对应的学生信息,sql语句如下: UPDATE info1 t1 JOIN info2 ...

  3. mysql一张表多个字段关联另一张表查询

    如下:一张订单表多个字段关联用户表: 1.链表查询 SELECT cu.id AS 'id',cu.version AS 'version',cu.cid AS 'cid',cu.uid AS 'ui ...

  4. mysql 两张表的数据设置主外健关联删除

    image_group 主表 image 副表 alter table image add constraint fk_group_idforeign key (group_id)references ...

  5. mysql 两张表取总合 和差集

    SELECT id AS kid, NAME, IF (t1.kpi, t1.kpi, 0) AS kpi, t1.sort, STATUS, t1.kpi_idFROMform_kpi_nameLE ...

  6. 查出了a表,然后对a表进行自查询,a表的别名t1,t2如同两张表,因为t1,t2查询的条件不一样,真的如同两张表,关联两张表,可以将两行或者多行数据合并成一行,不必使用wm_concat()函数。为了将t2表的数据全部查出来使用了右连接。

    with a as( select nsr.zgswj_dm, count(distinct nsr.djxh) cnt, 1 z from hx_fp.fp_ly fp, hx_dj.dj_nsrx ...

  7. 42. oracle通过两张表的一个字段对应,update其中一张表的某个字段

    update A a set a.A2 = (select b.B2 from B b where b.B1=a.A1) where exists (select 1 from B where B.B ...

  8. mysql关联两张表时的编码问题

    Mysql关联两张表时,产生错误提示Illegal mix of collations 1.先用工具把数据库.两张表的编码方式改变 2.这步很重要,需要改变字段的编码方式. ALTER TABLE ` ...

  9. MySQL实现两张表数据的同步

    有两张表A和B,要求往A里面插入一条记录的同时要向B里面也插入一条记录,向B里面插入一条记录的同时也向A插入一条记录.两张表的结构不同,需要将其中几个字段对应起来.可以用下面的触发器实现. 表A的触发 ...

随机推荐

  1. erp的核心代码,替代orm

    public static SqlParameter[] get_array_list<T>(ArrayList rows) where T : class { Hashtable sql ...

  2. C#基础加强篇----委托、Lamada表达式和事件(上)

    1.委托 C#的委托相当于C/C++中的函数指针.函数指针用指针获取一个函数的入口地址,实现对函数的操作. 委托与C/C++中的函数指针不同在于,委托是面向对象的,是引用类型,对委托的使用要先定义后实 ...

  3. 利用NPOI生成DOCX文档

    首先安装NPOI控件: Install-Package NPOI 代码: using NPOI.OpenXmlFormats.Wordprocessing; using NPOI.XWPF.UserM ...

  4. 什么是DirectShow?

    DirectShow是微软出的用于流媒体开发的开发包.开发语言是C++,没提供C#接口的调用方式.

  5. 网站运行编译器错误CS1617: 选项“6”对 /langversion 无效;必须是 ISO-1、ISO-2、3、4、5 或 Default

    运行winform程序时提示, CS1617: 选项“6”对 /langversion 无效:必须是 ISO-1.ISO-2.3.4.5 或 Default 找到网站的web.config配置文件,找 ...

  6. 国家气象局 天气预报 城市代码(JSON格式)

    如题 { "城市代码": [ { "省": "北京", "市": [ { "市名": "北 ...

  7. 流程图浅析MFC架构

    http://blog.csdn.net/qq2399431200/article/details/9035315

  8. log4j-slf4j 典型用例

    一.maven 配置 <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j ...

  9. SQL基础复习2

    一.视图 1.创建视图      创建视图后加 WITH CHECK OPTION 2.视图查询 数据库系统的处理方法: 视图消解法(View Resolution) 步骤: 进行有效性检查-> ...

  10. Dev C++ 工程没有调试信息 解决办法

    Dev C++ 工程没有调试信息 解决方法DevC++4.9.9.2中,按 F8 开始调试.提示信息为:工程没有调试信息,您想打开工程的调试选项并重新生成吗?选择是后,再按F8,仍旧是这个信息.什么原 ...