2016-05-12 23 views
0

私は奇妙な問題を抱えています。私は(PHPを介して、または直接SQLを経由して)この文を実行すると:SQL更新が指定された値で更新されない

UPDATE event SET adGroupId = 23903638857 WHERE id = 1 

それが動作しない、とeventId = 1は、行によって常にadGroupId = 2147483647

同じ行で更新されます。それはSQLのcachéの問題、またはそれに類するものでしょうか?私は本当にこの問題を理解していない

...

+0

adGroupId列のデータ型は? – Pred

+1

'event'は予約済みのキーワードを使用しています。' UPDATE [event] SET adGroupId = 23903638857 WHERE id = 1' – wiretext

+0

@tinka接頭辞にはスキーマ名を付けることもできますか? (ある場合..) –

答えて

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

関連する問題