2016-03-31 4 views
2

löschen Ich habe zwei Tabellen:JDBI wie kann ich Daten aus zwei Tabellen in einer @SqlUpdate

entities: 
- id 
- someValues 

und andere Tabelle, mit foregin Schlüssel auf id-Feld

connectedEntities: 
- entityId (foregin) 
- otherObjectId (foregin) 

I Entität löschen müssen von ID, aber wenn ich versuchte, nur aus entities Tabelle zu löschen, gibt es FK Verletzung.

Auch ich möchte @ SqlUpdate oder andere Annotation von JDBI-Framework verwenden.

Weiß jemand, wie man so etwas macht?

+2

In Ihrem Datenbankschema haben die Fremdschlüssel gesetzt wurde das Löschen kaskadieren? Weil das Ablegen von Objekten aus 'entities', wenn es in' connectedEntities' referenziert wird, auf diese Tabelle übertragen werden soll, wenn der Fremdschlüssel angegeben wurde. –

+0

Überprüfen Sie dies: http://www.mysqltutorial.org/mysql-on-delete-cascade/ – Trinimon

+1

Es scheint, dass Sie Fremdschlüssel mit auf löschen keine Aktion Eigenschaft in diesem Fall zuerst müssen Sie Einträge aus der untergeordneten Tabelle löschen dann können Sie from master ... weiter zur Überprüfung bitte Ausgabe von "show create table table_name" anzeigen –

Antwort

1

Dank @G_H habe ich gefunden, wonach ich gesucht habe.

Ich musste nur ON DELETE CASCADE zu meiner Definition des Vorentschlüssels hinzufügen, und alles hat gut funktioniert.

Hier ist das Tutorial - mysqltutorial.org/mysql-on-delete-cascade

Verwandte Themen