# 问题情境
今天在做达梦数据库的适配工作 (DM7),项目在执行sql语句的时候报错了
错误信息如下所示:
Error in adding new subscriber: 第 1 行, 第 20 列[]附近出现错误
想到sql语句,哪儿有 [] 这个中括号呢? 可能是其他地方的问题
通过打log,发现如下位置
// ps = conn.prepareStatement(query, new String[]{"subscriber_id"});
如果使用如下这种是不会报错的
// ps = conn.prepareStatement(query);
后来考虑到可能达梦数据库不支持列自增,后来参考主键回传方案,如下所示
ps = conn.prepareStatement(query, PreparedStatement.RETURN_GENERATED_KEYS);