mysql数据库中的自增字段会不会溢出,我用的是int,万一超过这个int的表示范围会怎样

 我来答
CARLRAY002
2015-04-26 · TA获得超过1033个赞
知道小有建树答主
回答量:665
采纳率:70%
帮助的人:61.4万
展开全部
看你的数据量多大,大的话肯定会有溢出的,因为他就只有11位数字,可以选择唯一的字符串作为主键,如果你要主键自增长也可以选择更为长的数字型类型作为子键,比如bigint之类的
DoramiHe
推荐于2018-03-02 · 知道合伙人互联网行家
DoramiHe
知道合伙人互联网行家
采纳数:25332 获赞数:59541
2011年中山职业技术学院毕业,现担任毅衣公司京东小二

向TA提问 私信TA
展开全部
不知道你是oracle还是sql server?这个是个自连接问题,先要排序,标行号,再同表的上下行相比,所以是自连接
orcale:
select a.vseq,a.declaredate as declaredate1,b.declaredate as declaredate2
from
(select vseq,declaredate,rownum as row from mac505 order by vseq,declaredate)a,
(select vseq,declaredate,rownum as row from mac505 order by vseq,declaredate)b
where a.vseq=b.vseq and a.row+1=b.row and a.declaredate+1000<b.declaredate

sql server由于只有2005以上版本才有row_number()函数,所以如下脚本只能用在2005以上版本中
select a.vseq,a.declaredate as declaredate1,b.declaredate as declaredate2
from
(select vseq,declaredate,row_number() orver (order by vseq,declaredate) as row from mac505 )a,
(select vseq,declaredate,row_number() orver (order by vseq,declaredate) as row from mac505 )b
where a.vseq=b.vseq and a.row+1=b.row and a.declaredate+1000<b.declaredate
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
你妹_伤不起
2015-04-23 · TA获得超过295个赞
知道小有建树答主
回答量:498
采纳率:100%
帮助的人:266万
展开全部
-2147483648-2147483647 超出的话 sql语句报错呗
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
妖妖灵qD2Ev
2015-04-23 · 超过32用户采纳过TA的回答
知道答主
回答量:66
采纳率:0%
帮助的人:67.9万
展开全部
主键重复 无法插入数据。。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式