2016-05-12 10 views
0

Ich habe ein Problem, so komisch. Wenn ich ausführen (via PHP oder direkt über SQL) diesen Satz:SQL-Update wird nicht mit dem angegebenen Wert aktualisiert

UPDATE event SET adGroupId = 23903638857 WHERE id = 1 

Es funktioniert nicht, und die eventId = 1 mit adGroupId = 2147483647

Immer der gleichen, Zeile für Zeile aktualisiert wird. Könnte es sich um ein SQL-Caché-Problem oder Ähnliches handeln?

Ich weiß nicht wirklich dieses Problem verstehen ...

+0

was ist der Datentyp der Spalte adGroupId? – Pred

+1

'Ereignis' ist reserviert Schlüsselwort verwenden' UPDATE [Ereignis] SET adGroupId = 23903638857 WHERE ID = 1' – wiretext

+0

@tinka Vielleicht sogar Präfix es mit dem Schemanamen? (Wenn es einen gibt ..) –

Antwort

3

Wenn der Datentyp des Spalts adGroupId ist INT es dann zu BIGINT ändern oder zu DECIMAL mit einer ausreichend großen Stellenzahl.

2,147,483,647 ist der Maximalwert was eine INT Spalte speichern kann und 23,903,638,857 ist größer als das, also SQL Server schneidet es ab (und Sie haben eine Warnung irgendwo sicher).

BIGINT kann ganzzahlige Werte von -9,223,372,036,854,775,808 bis 9,223,372,036,854,775,807 speichern.

Weitere Referenz: https://msdn.microsoft.com/en-us/library/ms187745.aspx

Verwandte Themen