如何解决MS SQL中不受支持的无符号整数字段类型?为了充分利用全方位的

我保持MySQL的AUTO_INCREMENT为无符号整数字段(各种尺寸的),因为我:

问题描述:

试图让一个基于MySQL的应用支持MS SQL,我跑进了以下问题知道永远不会有负面价值。 MS SQL不支持所有整数类型的无符号属性,所以我必须选择减少值范围的一半或创建一些解决方法。如何解决MS SQL中不受支持的无符号整数字段类型?为了充分利用全方位的</p> <p>我保持MySQL的AUTO_INCREMENT为无符号整数字段(各种尺寸的),因为我:

一种非常幼稚的方法是把一些代码在数据库的抽象代码或,在所述分贝侧和负值的值之间转换来自无符号范围的较大部分的存储过程。这当然会搞乱排序,而且它也不能用auto-id功能(或者它会以某种方式?)。

我想不到一个解决方法现在,有没有?或者我只是*,应该忘记一半范围?

编辑:
@Mike伍德豪斯:是的,我想你是对的。我脑海中仍然有一种声音说,如果我优化其利用率,我可能会缩小该领域的规模。但是,如果没有简单的方法来做到这一点,可能不值得担心。

什么时候问题可能成为真正的问题?

鉴于目前的增长速度,如何尽快你期望有符号整数溢出的MS SQL版本发生吗?

悲观。

您希望应用程序存活多久?

你仍然认为2差异的因素是你应该担心?

(我不知道答案是什么,但我想我们应该确信我们寻找任何更难解决方案之前确实有问题)

我会这样说..“我们通常如何处理组件之间的差异?”

包封物什么变化 ..

你需要你的数据访问层中创建一个抽象层,它得到的地步,它不在乎数据库是否是MySQL或MS SQL ..

我会建议使用BIGINT数据类型,因为这去多达9,223,372,036,854,775,807。

SQL Server不支持符号和无符号值。