问题描述

用户做同步任务时,同步的表的列名是关键字,导致任务失败。

解决方法

以MySQL数据源为例。
  1. 新建一张表aliyun,建表语句如下:
    create table aliyun (`table` int ,msg varchar(10));
  2. 创建视图,给table列取别名。
    create view v_aliyun as  select `table` as col1,msg as col2 from aliyun;
    说明
    • table是MySQL的关键字,在数据同步时,拼接出来的代码会报错。因此通过创建视图,给table列起别名,以绕过此限制。
    • 不建议使用关键字作为表的列名。
  3. 上述语句给有关键字的列取了别名,那么在配置数据同步任务时,可以选择v_aliyun视图来代替aliyun这张表 。
说明
  • MySQL的转义符是`关键字`。
  • Oracle和PostgreSQl的转义符是"关键字"。
  • SQlServer的转义符是[关键字]。