如果SQL Server中的Integer数据类型的最大限制值可以保存更多?

时间:2018-03-08 07:40:53

标签: sql-server database int

我在SQL Server中有一个Id字段类型为int的表。 10年后,如果Id达到最大值可以节省更多的是2,147,483,647? 如果表格不能再保存怎么解决?

2 个答案:

答案 0 :(得分:2)

您始终可以修改列类型。请注意,当列是主键的一部分时,您无法执行此操作,因此您必须删除约束,然后重新创建它:

ALTER TABLE mytable DROP CONSTRAINT mytable_pk;
ALTER TABLE mytable ALTER COLUMN id BIGINT NOT NULL;
ALTER TABLE mytable ADD CONSTRAINT mytable_pk PRIMARY KEY (id);

答案 1 :(得分:0)

您可以随时更改表格并将列数据类型更改为bigint,但建议您使用触发器通知DBA。如果它是主键列,则必须删除约束,更改列,更改数据类型,然后再次添加主键约束。如果列是某个其他表的外键,则情况也是如此。