假设我有两个共享关系的表:
我的posts
表具有id
类型的bigint
列,而我的comments.post_id
外键的类型为integer
。
可能出什么问题了?为什么建议comments.post_id
也属于bigint
类型?
答案 0 :(得分:0)
大int可以多达9,223,372,036,854,775,807,而int仅可以达到2,147,483,647。因此,如果您的数据增长到足以超过2,147,483,647(例如2,147,483,648)的水平,您将无法再在comments.post_id列中引用您的帖子。
答案 1 :(得分:0)
好吧,从数据库的角度来看,如果使用您数据库的用户插入了一个bigint
,它出现在您的主要关系中,而您的关系拒绝了它,因为数据类型不匹配(我的意思是用其中您的条目大于int
数据类型),
那么您就犯了逻辑错误,因为该条目应满足 FK 约束,因此应已被接受。