ID einfügen (automatisch generiert, nur Spalte)

8

Wie soll meine SQL-Anweisung (MS-SQL) aussehen, wenn ich eine Zeile in eine Tabelle einfügen möchte, die nur eine Spalte mit der automatisch generierten ID enthält?

Nach zwei Abfragen funktioniert nicht:

%Vor%

Thx für irgendwelche Tipps. sl3dg3

    
sl3dg3 13.04.2011, 14:49
quelle

2 Antworten

14

INSERT INTO MyTable (MyTableId) VALUES (Null) versucht implizit, eine Null in die Identity-Spalte einzufügen, so dass dies nicht funktionieren wird, da Identity-Spalten niemals Nullable sein können und ohne SET-Option können Sie sowieso keinen beliebigen Wert einfügen, stattdessen können Sie verwenden:

%Vor%     
Alex K. 13.04.2011, 14:57
quelle
1

Der SQL-Standard und die meisten Datenbanken unterstützen aus Gründen der Vollständigkeit die Klausel DEFAULT VALUES :

%Vor%

Dies wird in

unterstützt
  • CUBRID
  • Feuervogel
  • H2
  • HSQLDB
  • Ingres
  • PostgreSQL
  • SQLite
  • SQL Server (Ihre Datenbank)
  • Sybase SQL Anywhere

Wenn das oben genannte nicht unterstützt wird, können Sie diese Anweisung dennoch als Workaround schreiben:

%Vor%

Dies funktioniert dann auch mit:

  • Zugriff
  • DB2
  • MariaDB
  • MySQL
  • Oracle

Weitere Informationen finden Sie in diesem Blogpost hier:

Ссылка

    
Lukas Eder 18.04.2014 09:34
quelle

Tags und Links