MYSQL freedata 外联接
主要是解决,不同生产系统里面,有不同的数据库. SQL 又不能夸系统查询表. 只能在一个系统里,可以跨不同的数据库查表.
所以会用映射 .FREEDATA 这种方式,这样A 系统 里的表更新之后,就可以在B系统里被查看SELECT了.
主要是换了 引擎ENGINE , 连接 CONNECTION
ENGINE=FEDERATED DEFAULT CHARSET=utf8mb4 CONNECTION='mabao51-mariadb';
示例
CREATE TABLE `trade_goods_onl` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '数据标识ID', `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '数据创建时间', `modify_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '数据修改时间', `is_deleted` tinyint(1) NOT NULL COMMENT '数据是否删除', `remark` varchar(255) NOT NULL COMMENT '备注', `trade_onl_id` bigint(20) NOT NULL COMMENT '线上订单ID', `trade_detail_onl_id` bigint(20) NOT NULL COMMENT '线上订单明细ID', `trade_ofl_id` bigint(20) NOT NULL COMMENT '线下订单ID', `trade_detail_ofl_id` bigint(20) NOT NULL COMMENT '线下订单明细ID', `refund_onl_id` bigint(20) NOT NULL COMMENT '线上退单ID', `refund_detail_onl_id` bigint(20) NOT NULL COMMENT '线上退单明细ID', `refund_ofl_id` bigint(20) NOT NULL COMMENT '线下退单ID', `refund_detail_ofl_id` bigint(20) NOT NULL COMMENT '线下退单明细ID', `status` smallint(6) NOT NULL COMMENT '状态', `status_label` varchar(50) NOT NULL COMMENT '状态名称', `org_id` bigint(20) NOT NULL COMMENT '组织ID 妈宝', `member_id` bigint(20) NOT NULL COMMENT '会员ID 妈宝', `goods_id` bigint(20) NOT NULL COMMENT '商品ID', `goods_id_onl` varchar(100) NOT NULL COMMENT '商品ID 线上', `goods_id_ofl` varchar(100) NOT NULL COMMENT '商品ID 线下', `goods_barcode` varchar(50) NOT NULL COMMENT '商品条码', `goods_name` varchar(255) NOT NULL COMMENT '商品名称', `deal_price` decimal(18,2) NOT NULL COMMENT '成交价', `pay_price` decimal(18,2) NOT NULL COMMENT '实付价', `notice_time` timestamp NULL DEFAULT NULL COMMENT '取货提醒发送时间', PRIMARY KEY (`id`) USING BTREE ) ENGINE=FEDERATED DEFAULT CHARSET=utf8mb4 CONNECTION='mabao51-mariadb';