SQL更新不会使用给定值进行更新

时间:2016-05-12 13:22:19

标签: sql-server

我有一个如此奇怪的问题。当我执行(通过PHP或直接通过SQL)这句话时:

UPDATE event SET adGroupId = 23903638857 WHERE id = 1

它不起作用,eventId = 1更新为adGroupId = 2147483647

始终如一,一行一行。它可能是SQLcaché问题,还是类似的问题?

我真的不明白这个问题......

1 个答案:

答案 0 :(得分:3)

如果adGroupId列的数据类型为INT,请将其更改为BIGINTDECIMAL,并使用足够大的数字计数。

2,147,483,647是INT列可以存储的最大值,而23,903,638,857大于该值,因此SQL Server会截断它(并且您肯定会在某处发出警告)。

BIGINT可以存储从-9,223,372,036,854,775,808到9,223,372,036,854,775,807的整数值。

供进一步参考:https://msdn.microsoft.com/en-us/library/ms187745.aspx