Obwohl nicht von mir eine Antwort auf Ihre Frage ist, wollte ich erwähnen, wie TIMESTAMP
falsch verstanden werden kann.
Sie geben nicht Ihre Verwendung der TIMESTAMP
Spalte in Ihrer Frage, aber sie Tatsache, dass Sie versuchen, es zu aktualisieren bedeutet (für mich) Sie versuchen, aufzuzeichnen, wenn sich Ihre Daten ändern.
Werfen Sie einen Blick auf this article (es gibt auch viele andere im Netz) in Bezug auf die Verwendung von TIMESTAMP
, wenn Sie tatsächlich die Änderung mit einem DATETIME
aufnehmen möchten.
BOL sagt:
Der SQL Server-Zeitstempel-Datentyp nichts mit Zeiten oder Termine zu tun hat. SQL Server-Zeitstempel sind binäre Nummern, die die relative Sequenz angeben, in der Datenänderungen in einer Datenbank stattfanden. Der Zeitstempel-Datentyp wurde ursprünglich implementiert, um die SQL Server Wiederherstellungsalgorithmen zu unterstützen.
Wie Damien_The_Unbeliever sagt der Typ umbenannt wurde und die Beschreibung sagt:
Die rowversion Datentyp ist nur eine fortlaufende Nummer und wird nicht ein Datum oder eine Zeit zu bewahren.Um ein Datum oder eine Uhrzeit aufzuzeichnen, verwenden Sie einen datetime2-Daten- -Typ.
Natürlich, wenn Sie den Datentyp in der Weise bestimmt sind, unter Verwendung ignorieren alle oben :)
Sehr intuitiv Benennen dort, ist es nicht ....: P –
@JacquesBosch - ich stimme zu, es ist sehr irreführend –