我有一个如此奇怪的问题。当我执行(通过PHP或直接通过SQL)这句话时:
UPDATE event SET adGroupId = 23903638857 WHERE id = 1
它不起作用,eventId = 1
更新为adGroupId = 2147483647
始终如一,一行一行。它可能是SQLcaché问题,还是类似的问题?
我真的不明白这个问题......
答案 0 :(得分:3)
如果adGroupId列的数据类型为INT
,请将其更改为BIGINT
或DECIMAL
,并使用足够大的数字计数。
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