Disco4uf
Disco4uf

Reputation: 147

C# Visual studio : adding columns to localdb reset all data

I was working with VisualStudio 2017 C# and localdb2016 I created a table in server explorer's database desginer window with 10 columns added X rows.

I have already set copy if newer so rows wont get deleted everytime

but when i try to add a new column (11th column) all of my rows (even in other tables!) get deleted !

why ?

Here is my Table code generated from desginer .... :

    CREATE TABLE [dbo].[CustomerTable] (
    [Id]      INT           IDENTITY (1, 1) NOT NULL,
    [name]    NVARCHAR (50) NULL,
    [company] NVARCHAR (50) NULL,
    [email]   NVARCHAR (50) NULL,
    [phone1]  NVARCHAR (50) NULL,
    [phone2]  NVARCHAR (50) NULL,
    [address] NVARCHAR (50) NULL,
    [fax]     NVARCHAR (50) NULL,
    [phone3]  NVARCHAR (50) NULL,
    [date]    DATETIME      DEFAULT (getdate()) NULL,
    PRIMARY KEY CLUSTERED ([Id] ASC)
);

UPDATE 1 :

ALTER TABLE dbo.CustomerTable ADD column_b VARCHAR(20) NULL, column_c INT NULL ;

does that code remove old columns (b and c) if they exists? is it a good idea to do that everytime app starts? (for upgrading purpose)

Upvotes: 0

Views: 1178

Answers (1)

Abhishek Jaiswal
Abhishek Jaiswal

Reputation: 253

Try this Transact-SQL query

ALTER TABLE dbo.CustomerTable ADD column_b VARCHAR(20) NULL, column_c INT NULL ;

This query will add 2 columns in your table -> First, b (VARCHAR[20]) & Second, c (INT). To read more, ALTER TABLE (Transact-SQL)

The query will not remove any existing column because it is an alter query that means it alter the table as you mention. Adding existing column doesn't alter table. So, no changes.

Upvotes: 1

Related Questions