SQL-server-update-Fehler - Msg 2627

Ich versuche zu aktualisieren meine Tabelle "Angebot".

Er hat diese Spalten:

  • Bestellanforderung keine(rq_no)
  • requisition Jahr(rq_year)
  • zart Anzahl(te_no)
  • te_date
  • te-due_date
  • zarte status(te_status)
  • te_year

Habe ich versucht den folgenden code:

update tender 
set te_status='D'
where rq_no like 'Q052401C' AND te_year like '2012' and te_no like 'n0066'

wenn ich irgendwelche anderen Zeichen anstelle von 'D' im te_status, update erfolgreich ist, außer für 'D'
z.B.:

set te_status='S'

Wenn ich

SELECT * FROM TENDER
WHERE
    rq_no LIKE 'Q052401C' AND te_year LIKE '2012' AND te_no LIKE 'n0066'

es gibt eine einzelne Zeile zurück.

Zeigt es mir die folgende Fehlermeldung:

Msg 2627, Ebene 14, Status 1, Zeile 1
Verletzung der PRIMARY KEY-Einschränkung 'PK_tender'.
Kann nicht legen Sie doppelten Schlüssel im Objekt 'dbo.zart'.
Der doppelte Wert ist (N0066, Q052401C, D, 2012)
Die Anweisung wurde beendet.

Was bedeutet all dies bedeuten?

InformationsquelleAutor user2168350 | 2013-03-14

Schreibe einen Kommentar