我在重命名SQL Server Compact Edition中的列时遇到问题。我知道您可以使用sp_rename
重命名表,但这不适用于列。
我正在寻找一种替代方法,但没有找到。
我可以删除一列,然后在特定列之后添加一个新列吗?如果我删除该列并在指定的列之后添加它,数据将会丢失,对吗?
似乎一旦创建了表,就无法对其进行正确的修改-这是SQLCE的另一个局限性吗?
最佳答案
确实,SQL CE似乎不允许更改列名。
通过创建新列并删除旧列,您走在正确的轨道上。
如果仅添加一列并删除旧列,则将丢失数据,因此您需要发出一条update语句将数据从旧列转换为新列。
遵循以下原则
alter Table [dbo].[yourTable] add [newColumn] [DataType]
update yourTable set newColumn = oldColumn
alter Table [dbo].[yourTable] drop column [oldColumn]
应该创建新列,将数据从旧复制到新,然后删除旧列。
希望能帮助到你!
关于sql - Microsoft SQL Compact Edition重命名列,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3967353/