Skip to content

能否考虑把adapter中mysql用etl同步方式修复一下? #4482

@hncdyj123

Description

@hncdyj123

批量新增的时候 因为没有``符号导致批量处理失败

 String backtick = SyncUtil.getBacktickByDbType(dataSource.getDbType());
insertSql.append("INSERT INTO ")
                        .append(SyncUtil.getDbTableName(dbMapping, dataSource.getDbType()))
                        .append(" (");
//                    columnsMap
//                        .forEach((targetColumnName, srcColumnName) -> insertSql.append(targetColumnName).append(","));

                    columnsMap.forEach((targetColumnName, srcColumnName) -> insertSql.append(backtick)
                            .append(targetColumnName)
                            .append(backtick)
                            .append(","));

SyncUtil类注释明明写了要加反引号,但是代码1.1.7快照版本还是没加

 // 只有当dbType为MySQL/MariaDB或OceanBase时返回反引号
switch (dbType) {
            case mysql:
                return "`";
            case mariadb:
            case oceanbase:
                return "`";
            default:
                return "";
        }

另外还有mysql数据库名有-划线的问题,也可以同理处理,希望官方能处理一下 #4346

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions