填报报错,主键列无法插入重复数据

填报报表中,设置填报属性时,同时设置了多个主键,如果在提交数据的时候,其中一个主键列是重复的,这时候会不会报错:”数据库主键列无法插入重复数据“  这个错误

FineReport 十三SSan 发布于 2023-12-27 10:05
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共5回答
最佳回答
0
yzm163059Lv3见习互助
发布于2023-12-27 10:07

如果有A,B,C三个字段设置了主键,必须是是三个字段都相同才会报错,其中一个字段相同不会报错

最佳回答
0
snrtuemcLv8专家互助
发布于2023-12-27 10:09

帆软报表层面,你设置多个主键,,只是控制你联合起来不能重复,但是单列可以

你是数据直接单列设置主键,不能重复,这样就和帆软的设置冲突

可以数据值把这一列设置非主键,可以重复,和帆软一样使用多主键联合判断

最佳回答
0
lt1873Lv5见习互助
发布于2023-12-27 10:11(编辑于 2023-12-27 10:12)

智能提交就不会,会更新。

插入提交可能会报错

最佳回答
0
快乐星光Lv5中级互助
发布于2023-12-27 10:12(编辑于 2023-12-27 13:16)

联合主键的意思就是几个字段加起来做主键判断。只要几个联合主键拼接起来的值不一样,就不会提示。

但提交主键和数据库表主键有可能不一样,这个需要注意,你只是设置提交的联合主键,没有在数据库表上设置同样的主键,他是不会按照你想象的提示的。

”数据库主键列无法插入重复数据“ 这个提示主要还是看数据库表的主键设置,报表提交主键没有任何提示的。

用语句查询一下表主键

-- 查询表主键

select *,table_name as '表名', column_name as '主键' 

from information_schema.key_column_usage 

where table_name = 'syh_test_1';

在截图看一下你的提交属性里面的提交主键设置是哪几个

  • 十三SSan 十三SSan(提问者) 数据库表的主键设置,和帆软填报主键设置的是相同的,填报的数据在这几个主键也没有重复的,还有没有其他的原因,会导致报这个错
    2023-12-27 10:19 
  • 快乐星光 快乐星光 回复 十三SSan(提问者) 没有,数据多的话你可能看不出来,把需要填报的数据的主键拼接,然后count(1)后group by ,看看都是1不
    2023-12-27 10:25 
  • 十三SSan 十三SSan(提问者) 回复 快乐星光 都是1 ,录入数据后提交时 还是报错 哎
    2023-12-27 12:43 
  • 快乐星光 快乐星光 回复 十三SSan(提问者) 这个你的提交主键和数据库表的主键肯定是不一样的。
    2023-12-27 13:15 
  • 十三SSan 十三SSan(提问者) 回复 快乐星光 是的,但是之前一直都是这么使用的,这次再填报新的数据的时候,就报错了
    2023-12-27 15:06 
最佳回答
0
帆软用户J6ppf3YHexLv2见习互助
发布于4 天前

您好这个问题您后面是怎么解决的

  • 十三SSan 十三SSan(提问者) 数据库表的主键与帆软填报报表的主键设置一致,
    2024-07-04 19:32 
  • 5关注人数
  • 412浏览人数
  • 最后回答于:4 天前
    请选择关闭问题的原因
    确定 取消
    返回顶部