Sharding-jdbc不支持派生表(临时表)写法的sql

231 阅读1分钟

测试版本为

<dependency>
    <groupId>org.apache.shardingsphere</groupId>
    <artifactId>sharding-jdbc-spring-boot-starter</artifactId>
    <version>4.1.1</version>
</dependency>
使用数据库为 mysql 8.0

测试sql
select t1.* from course t1 inner join 
(select cid as mysql_tmp_id from course order by user_id asc limit 15) t2 
on t1.cid = t2.mysql_tmp_id 
order by user_id asc;

其中 course 为逻辑表,代码运行后报错: Cause: java.sql.SQLSyntaxErrorException: Table 'db_0.course' doesn't exist

并未正确识别逻辑表并进行分表处理。