更改表中的列顺序时出现问题 (SQL Server 2008)
-
06-09-2019 - |
题
当我尝试更改此列列表时:
Nombre
Imagen
Descripcion
Activo
IdLineaProducto
进入这个(IdLineaProducto是第一个)
IdLineaProducto
Nombre
Imagen
Descripcion
Activo
SQL Server Management Studio 表示不允许保存更改,因为必须删除并重新创建表(西班牙语...)。我可以在 SQL Server 2005 中执行此操作,但不能在 SQL Server 2008 中执行此操作。
在其他情况下也会发生同样的情况,例如尝试将 int 非身份列转换为身份列。为什么会出现这种情况呢?我该如何解决这个问题?也许是一些配置错误的问题?SQL Server 中的一些新功能?
其他提示
这就是它的工作方式......你只能添加列到最后,除非你DROP
并CREATE
它(通常是复制数据并回,其中IDE可能会有所帮助)。但是的为什么的你想改变顺序?即使是不理想,你SELECT
等可以处理这个...即。
SELECT IdLineaProducto, Nombre, Imagen, Descripcion, Activo
FROM TheTable
...
(它是很少只使用SELECT *
一个好主意)
的Re IDENTITY
;再次,这是列根本 - 虽然在这种情况下,你可以在列中的数据复制出来,DROP
列,并重新ADD
为IDENTITY
(右手边),并在复制回来 - 但你必须额外的并发症IDENTITY INSERT
和SEED
值(这样你就不会试图让现有的标识值的重复)。
不隶属于 StackOverflow