Как вставить в таблицу со всего одним столбцом IDENTITY (SQL Express)

В дополнение к ответу @ashutosh можно использовать графическую утилиту под названием Восстановление Начальной загрузки для переустанавливания загрузчика Ubuntu:

: Boot Repair

существует также подробная статья в Ubuntu wiki, который перечисляет различные способы восстановить загрузчик после установки Windows

21
задан Community 23 May 2017 в 02:26
поделиться

2 ответа

 INSERT INTO dbo.TableWithOnlyIdentity DEFAULT VALUES

В моем случае это прекрасно работает. Как вы пытаетесь поместить эти строки в базу данных? SQL Server Mgmt Studio? SQL-запрос из приложения .NET?

Запустив в Visual Studio в окне «Новый запрос», я получаю:

SQL-конструкцию DEFAULT VALUES или оператор не поддерживается.

==> Хорошо, значит, Visual Studio не может с ним справиться - это не ошибка SQL Server, а Visual Studio. Используйте вместо этого настоящую SQL Management Studio - там она отлично работает!

Использование ADO.NET также работает как шарм:

using(SqlConnection _con = new SqlConnection("server=(local);
                             database=test;integrated security=SSPI;"))
{
    using(SqlCommand _cmd = new SqlCommand
            ("INSERT INTO dbo.TableWithOnlyIdentity DEFAULT VALUES", _con))
    {
        _con.Open();
        _cmd.ExecuteNonQuery();
        _con.Close();
    }
}   

Похоже, это ограничение VS - не используйте VS для серьезной работы с БД :-) Марк

37
ответ дан 17 October 2019 в 01:13
поделиться

Вместо того, чтобы полагаться на какой-то синтаксис о "ПО УМОЛЧАНИЮ" VALUES "в качестве ключевого слова, позвольте движку помочь вам в этом ... Как насчет того, чтобы явно попытаться установить ОДНО из значений, например

insert into YourTable ( PickOneField ) values ( "whatever" )

Итак, даже если вы вводите только ОДНО поле, новая запись от собственного движка СЛЕДУЕТ заполнить REST из них соответствующими значениями по умолчанию.

-3
ответ дан 17 October 2019 в 01:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: