日期:2014-05-19  浏览次数:20536 次

唯一性标识可以是负数吗?
SQLserver里的smallint类型,取值范围是-32767到32768

好像通常用int或smallint类型做唯一性标识时(比如ID列),多数是从1开始,每次加1.

那么,-32767到0的范围不就浪费了?

如果标识用负数(感觉不多见啊),不会在别的地方有什么问题吧~~?

------解决方案--------------------
那么你自己规定负数 --> 那么你自己规定负数的使用规则

对于数据库来说,就是个整数,数据库系统自己没有任何问题,不然人家在结构上就不允许你用了。

谁用谁规定其规则,这是业务逻辑分析的问题,你的问题中的描述看起来不是从业务触发而是从技术出发来发问的,那能有什么问题呀。从技术出发的人往往对系统逻辑需求代表的意见顶着干,所以这种人只能做程序员不能做软件设计人员。