Обновить значение столбца метки времени

#sql #sql-server #tsql

#sql #sql-сервер #tsql

Вопрос:

Структура таблицы

 create table t_test(
  id int ,
  timestamp timestamp
)
 

Заполнить данные

 insert into t_test(id)values(1)
 

Результат запроса

 select * from t_test
------------------------
id | timestamp
------------------------
1  | 0x0000000000024EBC
------------------------
 

Добавить столбец

 alter table t_test add column new_column char(1) default '1' with values
 

После того, как я добавил столбец, значение метки времени столбца изменилось. Как я могу сделать и сохранить его ценность, как и раньше?

Результат запроса (после добавления столбца)

 select * from t_test
----------------------------
id | timestamp | new_column
----------------------------
1  | 0x0000000000024EBC | 1
----------------------------
 

Спасибо

Комментарии:

1. Я бы не рекомендовал использовать «метку времени» в качестве имени столбца (или любого другого)

2. @PaulMaxwell Спасибо вам! Пол Максвелл. Это старый проект и сложная бизнес-система, ни в коем случае.

3. Вы знаете, что timstamp на самом деле? Это номер версии строки, а не datetime

4. Короткий ответ — вы не можете. Это значение поддерживается ядром базы данных, и вы не можете принудительно присвоить ему какое-либо конкретное значение и не можете отключить способ его обновления ядром.