mycat 水平分库分表造成原来商城系统select exists语句错误

来源:9-7 配置Mycat对数据表进行水平分片分库处理

qq_浮云只想听你说_1

2017-12-05

schema.xml配置如下:

http://img.mukewang.com/szimg/5a25ecce00010f0c15020730.jpg

单独测试shop_cart表时候没有任何问题

但是把数据库改成mycat以后

原本商城进行添加管理员操作时候会验证管理员名称是否唯一的时候会执行

SELECT EXISTS(SELECT * FROM `shop_admin` WHERE (`shop_admin`.`adminuser`='admin'));

语句就会出现以下错误,如图

http://img.mukewang.com/szimg/5a25ed6a0001e3c613420672.jpg

他会去shop库shop_cart1库shop_cart2库shop_cart3库随机执行此条sql就会造成table doesn't exist

如何配置mycat只让shop_cart此表进行水平分库分表而不会影响原来的表

求助!!!!!!

写回答

1回答

Jason

2017-12-05

把下面的table节点打开,也就是<table name="shop_admin" .....>,指定到对应的单个逻辑库上去,就不会有问题了

0
9
Jason
回复
qq_浮云只想听你说_1
自己写一个原生验证唯一的方法,Yii开发团队肯定没有考虑mycat验证唯一性会出现这个bug
2017-12-19
共9条回复

Yii2.0进阶版 高级组件ES/Redis/Sentry优化京东平台

进阶更高阶的Yii 2.0开发,获得2-3年yii 2.0实战经验

514 学习 · 210 问题

查看课程