Draw.io Confluence插件SQL导入主键设置错误问题咨询
Draw.io SQL插件在Confluence中主键识别错误的问题及解决方法
问题重现
执行以下SQL生成数据表时:
CREATE TABLE persons ( person_id int PRIMARY KEY, country string, ); CREATE TABLE countries ( country string PRIMARY KEY, size int, );
persons表被错误地将country设为主键(正确主键应为person_id),countries表的主键识别正常。
原因分析
这大概率是Draw.io SQL插件的解析Bug。从SQL语法看,persons表明确指定person_id为主键,插件错误识别可能是因为:
- 语句末尾的多余逗号干扰了解析逻辑;
- 多表定义时,插件未正确区分不同表的边界,导致主键规则被错误继承到下一张表。
解决方法
清理SQL语法中的多余逗号
很多数据库兼容字段末尾的多余逗号,但插件解析器可能对这种语法敏感,去掉后再尝试导入:CREATE TABLE persons ( person_id int PRIMARY KEY, country string ); CREATE TABLE countries ( country string PRIMARY KEY, size int );添加表分隔标识
在两个表的定义之间添加注释,帮助插件明确区分表的范围:CREATE TABLE persons ( person_id int PRIMARY KEY, country string ); -- 分隔表定义 CREATE TABLE countries ( country string PRIMARY KEY, size int );批量拆分导入(替代方案)
如果上述方法无效,可将多表SQL拆分为单个表的SQL语句,利用插件的批量导入功能(若支持)分块处理,避免跨表解析错误。
内容的提问来源于stack exchange,提问作者ZetDen
相关产品推荐
相关产品推荐

