Visual Studio C: добавление столбцов в localdb сбрасывает все данные - PullRequest
0 голосов
/ 27 июня 2018

Я работал с VisualStudio 2017 C# и localdb2016 Я создал таблицу в окне дескриптора базы данных обозревателя серверов с добавлением 10 столбцов X строк.

Я уже установил copy if newer, поэтому строки не будут удаляться каждый раз

но когда я пытаюсь добавить новый столбец (11th column) все мои строки (даже в других таблицах!) Удаляются!

почему?

Вот мой код таблицы, сгенерированный из 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)
);

ОБНОВЛЕНИЕ 1:

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

удаляет ли этот код старые столбцы (b и c), если они существуют ? это хорошая идея, чтобы сделать это при каждом запуске приложения? (для улучшения)

1 Ответ

0 голосов
/ 27 июня 2018

Попробуйте этот запрос Transact-SQL

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

Этот запрос добавит 2 столбца в вашу таблицу -> Первый, b (VARCHAR [20]) и Второй, c (INT). Читать больше, ALTER TABLE (Transact-SQL)

Запрос не удалит ни один из существующих столбцов, поскольку это запрос на изменение, который означает, что он изменяет таблицу, как вы упоминали. Добавление существующего столбца не меняет таблицу. Итак, без изменений.

...