Announcement

Collapse
No announcement yet.

kleines Problem mit INSERT

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • kleines Problem mit INSERT

    Hallo zusammen,

    ich steh grad vollständig auf dem Schlauch.
    Ich möchte die Werte einer Spalte (ID) in eine andere Tabelle schreiben, aber nur, wenn der entsprechende Wert dort noch nicht vorhanden ist.

    [highlight=sql]
    INSERT INTO TS_ProjAnschrift
    SELECT ID FROM TM_ProjAnschrift
    WHERE ID NOT IN (SELECT ID FROM TS_ProjAnschrift)
    [/highlight]

    Ich bekomme da folgende Meldung
    Ein expliziter Wert für die Identitätsspalte kann nicht in der 'TS_ProjAnschrift'-Tabelle eingefügt werden, wenn IDENTITY_INSERT auf OFF festgelegt ist.
    Die Tabelle TS_ProjAnschrift besteht nur aus der Spalte ID.

    Kann mir mal jemand sagen was ich da falsch mache?

  • #2
    Wie die Fehlermeldung sagt, vorher
    SET IDENTITY_INSERT ON;

    Nach dem Insert wieder zurücksetzen mit
    SET IDENTITY_INSERT OFF;

    Comment


    • #3
      Ich denke in eine Identity Spalte kann man per Hand nichts einfügen. Es würde ja auch nicht wirklich Sinn machen. Was soll denn die Datenbank machen, wenn Du dort was einfügst?
      Eine Identity Spalte dient in der Regel zum Bereitstellen eines Datenunabhängigen Primary Keys. Die Spalte wird automatisch inkrementiert wenn Du eine Zeile hinzufügst. Wenn Du das NICHT brauchst, dann benutze einen numerischen Datentyp und definiere die Spalte als Primary Key. Die Spalte wird dann nicht mehr automatisch inkrementiert.

      Comment


      • #4
        Ah...ich Voll-Depp hab die Spalte wirklich als Identity deklariert.
        Das ist natürlich wirklich blödsinn.
        Danke

        Comment

        Working...
        X