Як вставити в таблицю лише стовпець ІДЕНТИМОСТІ?


14

З огляду на таблицю зі стовпцем ІДЕНТИМОСТІ, як вставити новий рядок? Я спробував таке:

INSERT INTO TABLE
(Syntax error)

INSERT INTO TABLE VALUES()
(Syntax error)

INSERT INTO TABLE (Id) VALUES()
(Syntax error)

Я щось тестую і мені потрібен лише стовпець ІДЕНТИЧНОСТІ. Це не для виробництва. В іншому випадку таку таблицю можна використовувати як генератор послідовностей, де інші колонки не потрібні.

Відповіді:


21

З документації :

DEFAULT VALUES
Примушує новий рядок містити значення за замовчуванням, визначені для кожного стовпця.

Так:

INSERT dbo.TABLE DEFAULT VALUES;

В додаток:

  1. завжди використовуйте префікс схеми
  2. завжди припиняйте заяви з напівколонами

Цікаво, що він, здається, є частиною SQL2003 (F222), але я ніколи раніше не бачив конструкції (хоча ВСТАВЛЯЄМО INTO, здається, потрібно). Ви щодня дізнаєтесь щось нове :-)
Леннарт

3

Іншим способом було б використання IDENTITY_INSERT. Таким чином ви можете вручну визначити, які значення ви хочете ввести.

SET IDENTITY_INSERT TABLE ON ;

INSERT INTO TABLE (ID) VALUES (1), (2) ;

SET IDENTITY_INSERT TABLE OFF ;

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.