![]() |
Datenbank: absolute database • Zugriff über: delphi
key violation
hi leutz,...also ich hab mir mal ein code example an ne neue DB angepasst da ich noch nichso ahnung hab.
hab im Abs Db manager den query ausgefuehrt: insert into test values (5, 'Harry'); und geht einwandfrei,...dann wollte ich genau das selbe in meiner anwendung ausfuehren und 2-3x hat es iwi auch geklappt ohne fehler,...aber jetzt kommt immer die fehlermeldung 'key violation' aber die werte werden trotzdem auch eingetragen. meine frage ist jetzt woran haengt es dass die errormessage kommt? thx im vorraus:) o0o |
Re: key violation
Zeig mal die Metadaten der Tabelle Test.
|
Re: key violation
Der Fehler sagt aus, das der PK-Wert schon in der Tabelle vorhanden ist.
|
Re: key violation
Wenn es denn wirklich der PK ist. Eigentlich hätte das nicht 2-3 mal funktionieren dürfen, es sei denn, er hat die Tabellenstruktur zwischenzeitlich geändert.
|
Re: key violation
@deddyh
sry ich weiss grad nich was du mit meta daten der tabelle meinst^^ is das richtig? DROP TABLE test; CREATE TABLE test ( text1 VARCHAR(32), text2 VARCHAR(20) ); INSERT INTO test values ('5', 'Harry'); INSERT INTO test values ('5', 'Harry'); INSERT INTO test values ('6', 'Harry'); INSERT INTO test values ('7', 'Harry'); INSERT INTO test values ('8', 'Harry'); INSERT INTO test values ('9', 'Hagrry'); |
Re: key violation
Da dürfte eigentlich gar kein Fehler kommen, weil ja keine Constraints vorhanden sind.
|
Re: key violation
Du hast also keinen PK definiert, also müsste das eigentlich immer funktionieren (zum DB-Design äußere ich mich jetzt erstmal nicht, ist ja wohl nur ein Test).
|
Re: key violation
hmm wenn du mir noch sagst was der PK ist bin ich schlauer^^
btw ich hab ein wenig weitergetested,...wenn ich alle eintraege leere und dann den query von oben ausfuehre gehts einwandfrei^^ wenn ich aber hingehe und 2x das selbe eintrage kommt der fehler,..ich close das programm und oeffne es wieder und will diesmal nich genau das selbe eintragen und der fehler bleibt solange bis ich nich wieder alle eintraege geleert hab. hat das mit dem PK zutun wo du meintest? o0o |
Re: key violation
PK = Primary Key = Primärschlüssel
|
Re: key violation
Das erweitert die Frage um Folgendes: hast Du einen Primärschlüssel definiert?
|
Re: key violation
ehm nein hatte ich nicht,...ich hab wiegesagt davon nich grad ahnung^^
ich bin ebn einfach mal hin und hab ein wenig blind was veraendert und das kam bei raus: CREATE TABLE test ( test1 VARCHAR(32), test2 VARCHAR(20), PRIMARY KEY IndexName (test1, test2) ); ich weiss nich ob das so richtig ist aber der error key violation kommt nimmer wenn ich was doppeltes einfuegen will:), dafuer ne andere fehlermeldung aber egal solange sie nur einmal kommt^^ btw ist das obn jetzt richtig bzw brauchbar oder sollte noch was dran veraendert werden?^^ o0o |
Re: key violation
Du hast damit festgelegt, das beide Felder zusammen den Primärschlüssel bilden.
|
Re: key violation
is das jetzt schlimm oder gut?
wenn schlimm beschreib doch bitte mal wie ichs am besten richtig mache. o0o |
Re: key violation
Kann man so nicht sagen, was willst du bezwecken?
Wenn die Namen der Felder auf den Inhalt schließen lassen, würde auch das Feld plaintext reichen. |
Re: key violation
Das heißt aber auch, dass die Kombination der beiden Felder eindeutig sein muss, daher die Fehlermeldung.
|
Re: key violation
hmm :shock: naja ok das ganze steigt allmaehlig ueber meine verstandsgrenze und will euch jetzt nich vollspammen^^
ich denke mal mit ein paar tut's mehr habe ich das raus:) ich bedanke mich bei euch 2 vielmals und wuerde mal sagen dass wir durch sind^^ lg o0o |
Re: key violation
Grundwissen kann nie schaden. wenn du noch weitere Fragen hast, helfen wir dir gern wieder.
|
Re: key violation
ACK ;)
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:19 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz