Primary-Key -> Fehler: "Unique constraint violation&

Status
Nicht offen für weitere Antworten.

DaKu

Aktives Mitglied
Hallo.

Habe hier eine DB (HSQLDB), in der ich 2 Tabellen erstelle:
1. :arrow:
Code:
CREATE TABLE name (namIndex INT, namName CHAR, namPicurl CHAR, PRIMARY KEY (namIndex));
2. :arrow:
Code:
CREATE TABLE zutaten (namIndex INT, zutIndex INT, zutMasse FLOAT , zutEinheit CHAR, zutZutat CHAR, PRIMARY KEY (zutIndex));

Wenn ich die DB neu anlege, kann ich sie so oft beschreiben, wie ich möchte.
Wenn ich die DB jedoch geschlossen habe und möchte wieder Daten hinzufügen, bringt er mir bei der 2.Tabelle folgenden Fehler:
Unique constraint violation: SYS_IDX_47
at org.hsqldb.jdbc.Util.sqlException(Unknown Source)
at org.hsqldb.jdbc.jdbcStatement.fetchResult(Unknown Source)
at org.hsqldb.jdbc.jdbcStatement.executeQuery(Unknown Source)
at AddGericht.add_db(AddGericht.java:177)
at AddGericht.access$17(AddGericht.java:156)
at AddGericht$9.actionPerformed(AddGericht.java:713)

Code:
private void add_db(Integer zutindex, String massedb, String einheitdb, String zutatdb) throws SQLException <--- Zeile 156
{...
sqlQuery = "INSERT INTO zutaten VALUES ('"+j+"','"+zutindex+"','"+massedb1+"','"+einheitdb+"','"+zutatdb+"');";
rs = stmt.executeQuery(sqlQuery);  <------------------- Zeile 177
...
}


Code:
add_db((int)zutindex, (String)masse.getText(), (String)einheit.getSelectedItem(), (String)zutat.getText()); <--Zeile 713

Hoffe, ihr könnt damit etwas anfangen, ohne die Key's funktioniert es wunderbar.

Danke schoneinmal

DaKu
 

foobar

Top Contributor
Du versuchst einen PK einzufügen, den es schon gibt. Am besten verwendest du eine Sequenz oder ein Autoincrement-Feld für die PKs, dann knallt es auch net.
 

DaKu

Aktives Mitglied
es sind doch aber 2 unterschiedliche Tabellen und der PK ist pro Tabelle und nicht pro DB, oder?
(soweit ich jetzt weiss, lasse mich aber ein besseres belehren, obwohl es Java ja schon macht :wink: )
 

Caffè Latte

Bekanntes Mitglied
Hi,

klar ist der Primärschlüssel pro Tabelle ...

Wenn ich die Zeile, in der du den String sqlQuery zusammenfriemelst, so lese und das "j" sehe, würd ich mal an deiner Stelle prüfen, welchen Wert denn dieses "j" speichert ...

Aber am besten machst du es so wie es foobar schon sagte ...
 

DaKu

Aktives Mitglied
na das j ist nur dazu da, den Wert um eins zu erhöhen, also einfach nur eine zählvariable und mit rs.next wird es hochgezählt (j++)
 

DaKu

Aktives Mitglied
so, habe es raus genommen, jedoch habe ich dadurch jetzt ein anderes Problem, wie bekomme ich den AUTO-INCREMENT von "zutIndex" wieder auf 0?
Habe es im Moment so:
Code:
sqlQuery ="CREATE TABLE zutaten (namIndex INT, zutIndex INT NOT NULL IDENTITY, zutMasse FLOAT , zutEinheit CHAR, zutZutat CHAR, FOREIGN KEY (namIndex) REFERENCES name(namIndex));";


Habe ich auch Probiert:
Code:
sqlQuery ="CREATE TABLE zutaten (namIndex INT, zutIndex INT NOT NULL IDENTITY, zutMasse FLOAT , zutEinheit CHAR, zutZutat CHAR, UNIQUE(namIndex, zutIndex), FOREIGN KEY (namIndex) REFERENCES name(namIndex));";
 

foobar

Top Contributor
Warum willst du den Wert wieder auf 0 setzen? Es spielt doch keine Rolle welchen Wert der PK hat, hauptsache er ist unique.
 

DaKu

Aktives Mitglied
doch spielt er, da ich ihn für meine Abfragen benötige und auch für die Zeilen einer Tabelle verantwortlich ist.
Also im Endeffekt soll eine 1:n Beziehung zwischen Tab1 & Tab 2 bestehen und jedesmal wenn sich der PK in Tab1 um 1 erhöht, soll der PK in Tab2 wieder bei 0 anfangen
 

foobar

Top Contributor
Wie der PK in Tabelle 2 soll wieder bei 0 beginnen? Und was ist wenn in der Tabelle schon ein PK mit 0 existiert? Du kannst den Wert eines PKs doch nicht wieder zurück setzen.
 

DaKu

Aktives Mitglied
deswegen habe ich ja auch noch den PK von der 1. Tabelle mit drinne, der eigentlich als Fremdschlüssel fungieren sollte und mit UNIQUE funktioniert es auch nicht
 

foobar

Top Contributor
Klar, gibt es Foreignkeys in Hsql, aber nur wenn du ein entsprechendes Foreignkey-Constraint verwendest.
Was du suchst ist ein zusammengesetzter PK und nicht ein unique-Constraint. Wirf mal einen Blick in die Doku, da wird alles erklärt.
 

DaKu

Aktives Mitglied
habe es wohl zu schnell editiert, habe ja Foreignkeys schon oben drinne und es funktioniert.
Habe gedacht, das man mit UNIQUE diesen zusammenges. PK realisiert
 

DaKu

Aktives Mitglied
kann man überhaupt einen zusammengesetzten PS aus einem Feld das PS sein soll und einem Femdschlüssel zusammensetzen?
Irgendwie bekomme ich das ganze nicht hin :bahnhof:
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
O HOW TO INSERT PRIMARY INTO ANOTHER TABLE AND USE IT AS FOREIGN KEY TO DISPLAY DATA IN A RELATIONSHIP Datenbankprogrammierung 3
J MySQL - Primary Key Date,Time vs ID Datenbankprogrammierung 16
J SQL PRIMARY KEY unique Datenbankprogrammierung 5
S JPA, Primary Key wird nicht in relationstabelle erstellt Datenbankprogrammierung 3
L H2 Auto INC Primary Key & Insert Datenbankprogrammierung 8
G Primary key automatisch hochzählen Datenbankprogrammierung 9
G Primary key ID ermitteln? Datenbankprogrammierung 2
Y Probleme mit H2 und Primary Key Datenbankprogrammierung 4
M Kundennummer als Primary Key? Datenbankprogrammierung 43
G Herausfinden des Primary Keys nach INSERT-Kommando? Datenbankprogrammierung 4
S PRIMARY KEY erfragen Datenbankprogrammierung 3
A Primary Key Eigenschaft herausfinden Datenbankprogrammierung 2
M Primary Key ändern Datenbankprogrammierung 6
T Cast-Fehler: Spring Data exists.... boolean??? Datenbankprogrammierung 1
T compiler fehler: should be mapped with insert="false" update="false" Datenbankprogrammierung 1
O Create Table per JDBC Fehler: ORA-00922 Datenbankprogrammierung 4
H Fehler bei getConnection zu MySQL Datenbank Datenbankprogrammierung 18
S MySQL Hibernate: Fehler bei Verwendung von 2 unterschiedlichen Enumration Datenbankprogrammierung 3
S @OneToMany @JoinTable failed to lazily initialize a collection Fehler Datenbankprogrammierung 2
C Oracle Fehler beim list.add() Datenbankprogrammierung 5
das_leon MySQL Fehler bei der Zeitzone Datenbankprogrammierung 7
M SQL-Statement SQL mit Java, Update Fehler Datenbankprogrammierung 1
L MySQL Bekomme einen Fehler beim ResultSet Datenbankprogrammierung 12
DaCrazyJavaExpert Derby/JavaDB Unfindbarer Fehler im Datenbank-Code Datenbankprogrammierung 87
L SQL Fehler (Table/View does not exist) Datenbankprogrammierung 17
P MySQL JPA / MySQL - Fehler bei type=innoDB Datenbankprogrammierung 8
Thallius MySQL Wo ist der Fehler in dem Query? Datenbankprogrammierung 2
B JPA->fehler beim Insert in die Datenbank Datenbankprogrammierung 3
V Fehler beim Generierung Fehler beim Generierung java.lang.ArrayIndexOutOfBoundsException: 0 Datenbankprogrammierung 12
M MySQL-Syntax-Fehler Datenbankprogrammierung 1
H HSQLDB Beim öffnen folgender Fehler: ... java.lang.NullPointerException Datenbankprogrammierung 1
Z Finde den Fehler: Daten aus einer Access-Datenbank lesen Datenbankprogrammierung 12
W Jackcess Fehler Datenbankprogrammierung 1
I Fehler bei Ausgabe der Daten aus der DB Datenbankprogrammierung 3
J SQL-Statement Meine insert befehle funktionieren nicht und ich weiß nicht wo der fehler liegt Datenbankprogrammierung 5
serjoscha MySQL Eine Instanz von eigenem DBWrapper -> Fehler durch mehrfachbenutzung möglich? Datenbankprogrammierung 2
M Wo ist mein Fehler ? o: Datenbankprogrammierung 4
C H2 Syntax fehler beim erstellen einer Tabelle Datenbankprogrammierung 4
T JDBC Fehler Datenbankprogrammierung 2
Neumi5694 Java + MS Access + 64 Bit = Fehler -1073740777 Datenbankprogrammierung 2
T Fehler beim ausgeben von Tabellen Inhalt Datenbankprogrammierung 9
R Fehler 2601 trotz SQL-UPDATE ? Datenbankprogrammierung 2
B JDBC Connection Fehler Datenbankprogrammierung 8
J Fehler bei mySQL Query Datenbankprogrammierung 19
D Oracle PLSQL Block Fehler Datenbankprogrammierung 11
P SQL-Statement Bei meinem Statement ist ein Fehler? Datenbankprogrammierung 2
S Fehler mit JdbcRowSet Datenbankprogrammierung 2
A Oracle Unbekannter Fehler bei insert Befehl Datenbankprogrammierung 3
B MySQL Fehler: Cannot open connection mit Tomcat7, Hibernate und MySQL Datenbankprogrammierung 4
M PL/SQL Fehler "Kein Wert zurückgegeben" Datenbankprogrammierung 4
S 2 Tabellen zu einer zusammenführen, INSERT INTO Fehler Datenbankprogrammierung 5
Crashbreaker MySQL MySQL - Hibernate gibt Fehler aus Datenbankprogrammierung 25
M Access Update Statement Fehler update -> unmöglich? Datenbankprogrammierung 3
I Derby/JavaDB Update Fehler Datenbankprogrammierung 4
N Update Prepared Statement Fehler bei Argumenten Datenbankprogrammierung 3
D JDBC Fehler beim laden der nativen Bibliothek db2jcct2 Datenbankprogrammierung 9
N Oracle Fehler Ungültiges Zeichen Datenbankprogrammierung 2
jgh Zeichensatz-Fehler Datenbankprogrammierung 10
L Derby/JavaDB Fehler beim Erstellen einer Tabelle Datenbankprogrammierung 2
F hsqldb Fehler - unknown source Datenbankprogrammierung 11
E Fehler- Komme nicht auf Datenbank Datenbankprogrammierung 13
trash ResultSet Syntax Fehler Datenbankprogrammierung 11
trash JDBC Einbinden Fehler Datenbankprogrammierung 9
B Fehler in Stored Procedure Datenbankprogrammierung 7
E [ACCESS ODBC] INSERT INTO Fehler Datenbankprogrammierung 4
E Nach Server wechsel Datenbank fehler ?!? Datenbankprogrammierung 3
H Fehler bei null-Datum in MySQL-DB Datenbankprogrammierung 2
B SQL - Ich kann die Fehler nicht finden Datenbankprogrammierung 3
K DB2 Insert mit Subselect Fehler Datenbankprogrammierung 2
M Update mysql Fehler ?? Datenbankprogrammierung 4
T Fehler im SQL ... Datenbankprogrammierung 8
J Fehler bei Hibernate Configuration Datenbankprogrammierung 9
N group by fehler Datenbankprogrammierung 4
P SQL Fehler helft mir bitte Datenbankprogrammierung 12
F Fehler bei Stored Function Datenbankprogrammierung 2
S Fehler beim Auslesen von Daten Datenbankprogrammierung 6
C Wo ist der Fehler? Datenbankprogrammierung 5
H Fehler mit ". Microsoft Access Driver" Datenbankprogrammierung 12
K Fehler bei Rückgabewerten Datenbankprogrammierung 3
M Statemend Fehler Datenbankprogrammierung 11
H Beim insert bekomme ich den Fehler missing select keyword Datenbankprogrammierung 2
E Seltsamer Fehler Datenbankprogrammierung 10
T Fehler bei Verbindungsaufbau zu MySql DB Datenbankprogrammierung 4
S Fehler bei DB Verbindung Access Datenbankprogrammierung 6
A JDBC-Fehler "Objekt bereits geschlossen" Datenbankprogrammierung 4
O SQL-Query bringt Fehler Datenbankprogrammierung 4
B MySql DELETE Anweisung gibt Fehler zurück Datenbankprogrammierung 7
A Fehler beim Starten des Servers für H2 Database Datenbankprogrammierung 13
A Fehler in der HSQLDB Datenbankprogrammierung 6
B fehler bei select befehl Datenbankprogrammierung 5
G SQL fehler -> woran liegt das? Datenbankprogrammierung 3
M Odbc und Fehler Datenbankprogrammierung 44
M Fehler bei der Verbindung zu einer MSSQL/Express Datenbank! Datenbankprogrammierung 17
D mySQL emullierte PreparedStatements haben Fehler unter Last Datenbankprogrammierung 3
F Fehler in Suns FilteredRowSet Implementierung? Datenbankprogrammierung 11
R Fehler in der Eingabe? Datenbankprogrammierung 3
J Fehler bei Oracle-Datenbankverbindung Datenbankprogrammierung 2
E JDBC Oracle Fehler, zugriff auf datenbank (Cluster) Datenbankprogrammierung 5
P Fehler: result-set zeigt auf null, aber warum Datenbankprogrammierung 4
G Fehler in der select-Abfrage Datenbankprogrammierung 3

Ähnliche Java Themen

Neue Themen


Oben