Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Microsoft SQL Compact Edition rename column

I am having problems renaming a column in SQL Server Compact Edition. I know that you can rename a table using sp_rename, but this doesn't work with columns.

I've searched for an alternative, but haven't found one.

Can I delete a column and then add a new one after a specific column? If I delete the column and add it after the a specified one the data would be lost right?

It seems that once you have created the table it can't be properly modified - is this another of the limitations of SQLCE?

like image 358
lucian Avatar asked Oct 19 '10 10:10

lucian


1 Answers

It does indeed seem that SQL CE wont allow changing column names.

You're on the right track with creating a new column and deleting the old.

If you just add a column and delete the old you will lose the data so you need to issue an update statement to shift the data from the old to the new.

Something along the lines of

alter Table [dbo].[yourTable] add [newColumn] [DataType]

update yourTable set newColumn = oldColumn

alter Table [dbo].[yourTable] drop column [oldColumn]

Should create your new column, duplicate the data from old to new and then remove the old column.

Hope it helps!

like image 123
Robb Avatar answered Sep 17 '22 15:09

Robb