Sql server 更改表中的列顺序时出现问题(SQL Server 2008)
当我尝试更改此列列表时:Sql server 更改表中的列顺序时出现问题(SQL Server 2008),sql-server,ddl,Sql Server,Ddl,当我尝试更改此列列表时: Nombre Imagen Descripcion Activo IdLineaProducto 在这方面(IdLineaProducto是第一个) SQL Server Management Studio表示不允许保存更改,因为必须删除并重新创建表(西班牙语…)。我可以在SQLServer2005中这样做,但不能在SQLServer2008中这样做 在其他情况下也会发生同样的情况,例如尝试将int非标识列转换为标识列。为什么会这样?我如何解决这个问题?也许是一些配置
Nombre
Imagen
Descripcion
Activo
IdLineaProducto
在这方面(IdLineaProducto是第一个)
SQL Server Management Studio表示不允许保存更改,因为必须删除并重新创建表(西班牙语…)。我可以在SQLServer2005中这样做,但不能在SQLServer2008中这样做
在其他情况下也会发生同样的情况,例如尝试将int非标识列转换为标识列。为什么会这样?我如何解决这个问题?也许是一些配置错误的问题?SQL Server中的一些新功能?这正是它的工作方式。。。您只能在末尾添加列,除非您
删除它并创建它(通常将数据复制出并复制回,IDE可能会对此有所帮助)。但是你为什么要改变顺序呢?即使不理想,您的SELECT
etc也可以处理此问题。。。i、 e
SELECT IdLineaProducto, Nombre, Imagen, Descripcion, Activo
FROM TheTable
...
(仅仅使用SELECT*
很少是个好主意)
重新设置标识
;同样,这是列的基础-虽然在本例中,您可以将数据复制出来,删除列,然后将列重新添加为标识(在右侧),然后将其复制回-但是,这样会使标识插入
和种子
值更加复杂(这样您就不会试图获取现有标识值的副本)。我找到了
这是经过设计的,可以很快实现
在管理工作室中通过
取消选中属性。若要在中修复此问题
管理工作室,转到工具->
选项,然后转到设计器页面
并取消选中“防止保存更改”
这需要重新创建表”
请注意,它可能会丢失与此相关的其他表中的数据。是的,你是对的。但我过去常常以某种逻辑顺序看到数据库列,特别是当表有许多列时。此外,我说的是使用设计器,而不是TSQL代码。当我使用设计器时,我会收到这些消息。接受你的回答。看好像你回答了自己的问题。我想知道为什么SQL2008不可能,因为它是以前的版本。+1
SELECT IdLineaProducto, Nombre, Imagen, Descripcion, Activo
FROM TheTable
...