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

如题所述

看你的数据量多大,大的话肯定会有溢出的,因为他就只有11位数字,可以选择唯一的字符串作为主键,如果你要主键自增长也可以选择更为长的数字型类型作为子键,比如bigint之类的
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-03-02
不知道你是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本回答被网友采纳
第2个回答  2015-04-23
-2147483648-2147483647 超出的话 sql语句报错呗
第3个回答  2015-04-23
主键重复 无法插入数据。。。。
相似回答