新的逻辑引入了新的bug,会导致在跨多库连接时,产生表名前缀映射混乱,需要再做逻辑上的修复。

function table_name($tablename) {if(!empty($this->map) && !empty($this->map[$tablename])) {$id = $this->map[$tablename];if(!empty($this->config[$id]['tablepre'])){$this->tablepre = $this->config[$id]['tablepre'];}if(!$this->link[$id]) {$this->connect($id);}$this->curlink = $this->link[$id];} else {$this->tablepre = $this->config['1']['tablepre'];$this->curlink = $this->link[1];}return $this->tablepre.$tablename;}

附db Map 写法:

$_config['db']['1']['dbhost'] = 'localhost'; // 服务器地址
$_config['db']['1']['dbuser'] = 'root'; // 用户
$_config['db']['1']['dbpw'] = 'root';// 密码
$_config['db']['1']['dbcharset'] = 'gbk';// 字符集
$_config['db']['1']['pconnect'] = '0';// 是否持续连接
$_config['db']['1']['dbname'] = 'x1';// 数据库
$_config['db']['1']['tablepre'] = 'pre_';// 表名前缀$_config['db']['2']['dbhost'] = 'localhost';
.....//再配置一些数据源
$_config['db']['xxx_sys']['dbhost'] = 'localhost';//映射
$_config['db']['map']['yyy_table'] = 'xxx_sys';

上一篇文章:http://www.cnblogs.com/x3d/p/3913690.html

Discuz DB层跨库映射关系表名前缀BUG修复后产生的新bug相关推荐

  1. mysql批量修改表名前缀

    mysql中修改表名前缀的语句为:alert table 旧表名 rename to 新表名: mysql没有直接批量修改表名的方法,但是我们可以通过批量生成修改语句来达到批量修改表名的效果. 代码: ...

  2. MyBatis逆向工程去除表名前缀

    MyBatis逆向工程去除表名前缀 场景: 比如表名为t_user,想要生成User开头的文件,而不是TUser开头的文件. 需要下载1.3.6版本的mybatis-generator https:/ ...

  3. MySQL 跨库分页/ 分表分页/ 跨库分页,为什么这么难?

    来源:https://www.cnblogs.com/yjmyzz/p/12149737.html 当业务数据达到一定量级(比如:mysql单表记录量>1千万)后,通常会考虑"分库分表 ...

  4. Oracle 跨库 查询 复制表数据 分布式查询

    方法一: 在眼下绝大部分数据库有分布式查询的须要.以下简单的介绍怎样在oracle中配置实现跨库訪问. 比方如今有2个数据库服务器,安装了2个数据库.数据库server A和B.如今来实如今A库中訪问 ...

  5. mycat 跨库间连表查询解决方案

    文章目录 一.应对场景 二.解决方案 三.效果 四.实现 1. 过程概述 2. 建库.建表.插数据.创建视图 3. 配置 mycat 的 schema.xml 4. 测试 navicat直接测试 ja ...

  6. MySQL 跨库分页/ 分表分页,为什么这么难?

    以下内容来自公众号逆锋起笔,关注每日干货及时送达 来源:https://www.cnblogs.com/yjmyzz/p/12149737.html 当业务数据达到一定量级(比如:mysql单表记录量 ...

  7. Oracle 跨库 查询 复制表数据

    在目前绝大部分数据库有分布式查询的需要.下面简单的介绍如何在oracle中配置实现跨库访问. 比如现在有2个数据库服务器,安装了2个数据库.数据库server A和B.现在来实现在A库中访问B的数据库 ...

  8. kafka跨库同步mysql表_canal实时同步mysql表数据到Kafka

    准备 对于自建 MySQL , 需要先开启 Binlog 写入功能,配置 binlog-format 为 ROW 模式,my.cnf 中配置如下 [mysqld] log-bin=mysql-bin ...

  9. 实现数据库的跨库join联表查询

    功能需求 首先要理解原始需求是什么,为什么要跨库join.举个简单的例子,在日志数据库log_db有一份充值记录表pay_log,里面的用户信息只有一个userid:而用户的详细信息放在主库main_ ...

最新文章

  1. vue-cli——vue-resource登录注册实例
  2. java,阳历转阴历
  3. java验证码的实现
  4. 在unity向量空间内绘制几何(4): 利用平面几何知识画像素直线
  5. python爬虫 selenium模块的学习
  6. 基于OpenVINO的多输入model optimizer(Tensorflow)
  7. sonar扫描java、js、jsp技术
  8. mysql java dbutil_Java -- DBUtils 框架 操作MySQL数据库
  9. Matlab网格划分
  10. sql 查询数据长度
  11. Paxos算法(一)—Basic Paxos
  12. 数据的正态性检验汇总
  13. linux中如何复制文件并重命名_在 Linux 上复制和重命名文件
  14. postgresql Connection to database failed: FATAL: no pg_hba.conf entry for host 10.129.195.161, us
  15. 基于matlab的运动模糊图像处理,基于matlab运动模糊图像处理
  16. yolov5篇---官方代码docker部署训练
  17. Android设计模式-迭代器模式
  18. 本题要求实现一个函数,对给定的正整数N,打印从1到N的全部正整数。
  19. Spring框架技术总结(一)
  20. 扫描二维码和签到打卡应用程序

热门文章

  1. Android 设计模式:(三)装饰者模式 —— 装饰对象
  2. ActiveMQ5.14.5配置参数详解
  3. Mongo、Redis、Memcached对比及知识总结
  4. 数造未来——探索大数据的应用价值
  5. Meta标签中的format-detection属性及含义
  6. IDP申请直到软件上架流程 - iOS
  7. ios时间差,以时间格式显示
  8. linux系统中指定端口连接数限制
  9. Cisco交换机解决网络蠕虫病毒***问题
  10. 无法解析 list 中的方法 iterator_Python-list中的append()和extend()方法区别