SQL Server: Cannot insert an explicit value into a timestamp column

juergen d picture juergen d · Apr 21, 2012 · Viewed 159.6k times · Source

When using this statement

create table demo (
    ts timestamp
)

insert into demo select current_timestamp

I get the following error:

Cannot insert an explicit value into a timestamp column. Use INSERT with a column list to exclude the timestamp column, or insert a DEFAULT into the timestamp column

How do I insert the current time to a timestamp column?

Answer

Andomar picture Andomar · Apr 21, 2012

According to MSDN, timestamp

Is a data type that exposes automatically generated, unique binary numbers within a database. timestamp is generally used as a mechanism for version-stamping table rows. The storage size is 8 bytes. The timestamp data type is just an incrementing number and does not preserve a date or a time. To record a date or time, use a datetime data type.

You're probably looking for the datetime data type instead.