gpt4 book ai didi

sql - 更改时间戳类型的列

转载 作者:行者123 更新时间:2023-12-04 15:48:50 29 4
gpt4 key购买 nike

我想更新一个空表,它有一列类型为时间戳到 varbinary(8)

我使用了以下命令

ALTER TABLE Notification  ALTER COLUMN RowRevisionID varbinary(8) 

我得到一个错误

Cannot alter column 'RowRevisionID' because it is 'timestamp'.



如何更改时间戳列类型?

我不希望删除该列并添加一个新列,因为这将在最后创建一个列,并且我希望保留列顺序以在 INSERT INTO 中使用该表

最佳答案

不幸的是,正如错误所暗示的那样,您无法更改时间戳列;你被你所拥有的困住了。此外,每个表只能有一个时间戳列,因此您不能在任何解决方案中复制该列。

您最好的选择(取决于表的大小)可能是将数据复制到临时表中(使用 SELECT * INTO MyTempTable FROM OriginalTable 语法来保留时间戳值),然后删除并以所需的顺序重新创建具有所需列的原始表并重新插入数据,或者您可以添加一个新的 VARBINARY(8)列到现有表并删除时间戳列,保留原始表。可能还有其他与这些相同的解决方案,但都需要一个新列,而不是 ALTER COLUMN脚本。

关于sql - 更改时间戳类型的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35321297/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com