У меня есть две функции:
public void Populate_flights()
public void Populate_reservations()
Рейс и бронирование - две таблицы. Одна из записей, т. Е. Номер рейса. находится в таблице бронирования. Так что это внешний ключ.
Теперь мне нужно заполнить базу данных через jbdc. Поэтому я использую: В
public void Функция Populate_reservations ():
Statement s = conn.createStatement();
s.executeUpdate("DELETE FROM reservations");
public void Populate_flights () -:
Statement s = conn.createStatement();
s.executeUpdate("DELETE FROM flights");
Таким образом, перед заполнением базы данных все мои предыдущие записи удаляются, и лишних данных нет. Так как в таблице бронирования есть внешний ключ, я не могу сначала удалить записи из рейса. Я должен удалить записи из бронирования в первую очередь. Но функция резервирования вызывается после функции полета. Как сделать так, чтобы она удаляла все записи?
Так и должно быть:
Statement s = conn.createStatement();
s.execute("SET FOREIGN_KEY_CHECKS=0");
s.executeUpdate("DELETE FROM flights");
s.execute("SET FOREIGN_KEY_CHECKS=1");