1
Livid MOD 一些大型网站(比如 Twitter)确实已经遇到过这样的问题了,所以一种解决方法是用 64 位的 bigint。
|
2
Livid MOD 假如你写了一个程序,抓取 Twitter 的信息,需要在数据库里存 tweet ID 的话,那个字段就必须是 64 位的 bigint
|
3
wingoo 2014-08-08 15:07:54 +08:00
根据你自己的规模,嫌小,用bigint足够你用
或者guid |
4
ddzz 2014-08-08 15:09:26 +08:00 1
几年前我也纠结过,查了好多资料研究怎样把django和rails框架的主键设成bigint,后来才知道自己想多了。
|
5
lincanbin 2014-08-08 15:11:41 +08:00
我还想过用unsigned int(10)来存时间戳会不会爆掉,掐指一算,那也是一百年后的事了,我自己能不能活这么久还是两说。
|
6
qiayue 2014-08-08 15:12:33 +08:00 1
我现在文章表、帖子表、回复表等会一直增加的表统一都用 bigint
|
7
dong3580 OP @Livid
插入语句,将int改为bigint报错了: [code] insert into test(id,title,content) values(12121231231314213213213123123,'2014年8月8日的事情','内容') [/code] 将 expression 转换为数据类型 bigint 时出现算术溢出错误。 第一次要准备用这种类型,这个怎么转换,还是.... @wingoo 怕撞了啊,guid和md5都是32位的 @ddzz 提高兼容性嘛 @lincanbin 用时间戳当id,好浪费id啊,中间一堆int数都被浪费了, @qiayue 你怎么插入数据库,或者查询出来呢? 查询出来用 Int64 表示么? 插入报错。。。 |
8
dong3580 OP 惭愧,我弄错了,位数太长了。试了试18位不会报错,这样就足够了~~~
3ks |