0
我有一个如此奇怪的问题。当我执行(通过PHP或直接通过SQL)这样一句话:SQL更新不会使用给定值更新
UPDATE event SET adGroupId = 23903638857 WHERE id = 1
它不工作,并且eventId = 1
与adGroupId = 2147483647
总是相同的,逐行更新。它可能是一个SQLcaché问题,或类似的东西?
我真的不明白这个问题...
我有一个如此奇怪的问题。当我执行(通过PHP或直接通过SQL)这样一句话:SQL更新不会使用给定值更新
UPDATE event SET adGroupId = 23903638857 WHERE id = 1
它不工作,并且eventId = 1
与adGroupId = 2147483647
总是相同的,逐行更新。它可能是一个SQLcaché问题,或类似的东西?
我真的不明白这个问题...
如果adGroupId列的数据类型是INT
然后将它与一个足够大的数字计数变成BIGINT
或DECIMAL
。
2,147,483,647是INT
列可以存储的最大值,而23903,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
adGroupId列的数据类型是什么? – Pred
'事件'是保留关键字使用'UPDATE [event] SET adGroupId = 23903638857 WHERE id = 1' – wiretext
@tinka甚至可以用模式名称作为前缀? (如果有..) –