SQL Server にこのテーブルがあり、誰かが特定の SMS メッセージを特定の番号に送信すると更新されます。
私がしたことは、タイムスタンプの新しいテーブルを入力したことです。さて、問題は、新しい行が追加されると、タイムスタンプ値でこれを取得することです:
<binary data>
なぜこれが起こるのですか?私は何をすべきか?
ありがとう!
SQL Server にこのテーブルがあり、誰かが特定の SMS メッセージを特定の番号に送信すると更新されます。
私がしたことは、タイムスタンプの新しいテーブルを入力したことです。さて、問題は、新しい行が追加されると、タイムスタンプ値でこれを取得することです:
<binary data>
なぜこれが起こるのですか?私は何をすべきか?
ありがとう!
行が挿入された日時を記録する場合は、デフォルトの制約でdatetime
(またはdatetime2
、SQL Server 2008以降を使用している場合は)列を使用します。
ALTER TABLE tab add time_added datetime2
ALTER TABLE tab add constraint DF_tab_time_added
DEFAULT (CURRENT_TIMESTAMP) for time_added
timestamp
は(不適切な名前の)の同義語でrowversion
あり、実際の日付と時刻とは関係ありません。
timestamp
rowversion
データ型の同義語ですデータ型は単なる増分であり、
rowversion
日付や時刻は保持されません。
datetime
現在/更新/挿入の日付または時刻を取得するために使用されている列のデータ型を使用する必要があります。
TIMESTAMP
更新/挿入のバージョンを保存します。
ALTER TABLE <TABLENAME>
ADD CONSTRAINT <CONSTRAINT_NAME> DEFAULT getdate() FOR <COLUMN_NAME>