Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Problem mit Fremdschlüssel beim Auffüllen der Datenbank

Kennen Sie den Primärschlüssel der Zeile, die Sie in Flights löschen möchten? Nehmen wir an, es ist 5.

long flightId = 5;
Statement s = c.prepareStatement("DELETE FROM reservations WHERE flight_id = ?");
s.setLong(1,flightId);
s.executeUpdate();

An diesem Punkt können Sie Ihren Flug löschen, da es keine darauf verweisenden Reservierungen mehr gibt.

s.prepareStatement("DELETE FROM flights WHERE id = ?");
s.setLong(1, flightId);
s.executeUpdate();

BEARBEITEN:Wenn Sie alle Daten aus beiden Tabellen entfernen möchten:

Statement s = c.prepareStatement("DELETE FROM reservations");
s.executeUpdate();

s = c.prepareStatement("DELETE FROM flights");
s.executeUpdate();