Foxtable(狐表)用户栏目专家坐堂 → _Identify 主键问题


  共有3900人关注过本帖树形打印复制链接

主题:_Identify 主键问题

帅哥哟,离线,有人找我吗?
ycs5801
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1068 积分:7624 威望:0 精华:0 注册:2009/6/24 9:44:00
_Identify 主键问题  发帖心情 Post By:2021/3/19 22:17:00 [只看该作者]

如果多台电脑,各自用各自的sql server存储数据,那么每台电脑的_Identify这个主键是否有可能重复?我现在是想单个电脑存储数据,然后汇总数据库,但是怕这个键重复。

 回到顶部
帅哥哟,离线,有人找我吗?
ycs5801
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1068 积分:7624 威望:0 精华:0 注册:2009/6/24 9:44:00
  发帖心情 Post By:2021/3/20 0:14:00 [只看该作者]

如果重复的话,我自己设置一个编号列可以吗?那这个identify这列可以删除吗?或者怎么处理,不然都同步到一个数据库了,会不会因为相同而报错?

 回到顶部
帅哥哟,离线,有人找我吗?
foxtable-hg
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:93 积分:1059 威望:0 精华:0 注册:2018/9/9 18:03:00
  发帖心情 Post By:2021/3/20 1:01:00 [只看该作者]

那肯定是要重复的,设置一个不重复的规则去生成一个主键列来代替默认的主键列比较好。要不就是在汇总的时候,再重新生成一个主键列。

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111407 积分:567105 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/3/20 9:17:00 [只看该作者]

_Identify 主键如果是自增的,是绝对不可能重复的。但是就是不重复,我们也不建议使用_Identify做业务单号进行业务关联。因为这个_Identify是由数据库控制的,虽然不重复,但是不可控不由程序控制,如果迁移数据库可能会导致重置所有的_Identify值。到时业务关联就全乱了。

 回到顶部
帅哥哟,离线,有人找我吗?
ycs5801
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1068 积分:7624 威望:0 精华:0 注册:2009/6/24 9:44:00
  发帖心情 Post By:2021/3/20 10:23:00 [只看该作者]

那么老师,是不是我自己设置了其它主键,这个_Identify就失效了,需要将它删除吗?是不是系统也不允许删除?不删除会不会影响系统运行?

 回到顶部
帅哥,在线噢!
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111407 积分:567105 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/3/20 10:30:00 [只看该作者]

可以改为其它主键,如果不想用_Identify,可以删除。如果其它主键也是自增列,一样也会有4楼所说的问题,凡是自增列都会有这个问题,和这个列名是不是_Identify没有什么关系。

如果不是自增列,要自己写代码控制录入的主键值是不会重复的,否则保存会出错。另外不是自增列,新增行不能使用table.addnew,只能使用datatable.addnew,同时新增后必须马上给主键列赋值,否则会出错

 回到顶部
帅哥哟,离线,有人找我吗?
ycs5801
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1068 积分:7624 威望:0 精华:0 注册:2009/6/24 9:44:00
  发帖心情 Post By:2021/3/20 11:30:00 [只看该作者]

好的,收到,那我只能都用自编码了。

 回到顶部