Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Nieudane użycie transakcji w Quill do WSTAWIANIA obiektów relacyjnych jeden-do-wielu

Problem polegał na tym, że obecnie Quill async nie obsługuje równoczesnych operacji wewnątrz transakcji.

Musiałem więc wykonać wstawianie zwierząt sekwencyjnie:

ctx.transaction { implicit ec =>
  for {
    personId <- ctx.run(insertPersonQuery)
    animals = personCreate.animals.map(Animal.apply(personId, _))
    _ <- animals.foldLeft(Future.successful(0l)) {
      case (fut, animal) =>
        fut.flatMap(_ => insertAnimal(animal))
    }
  } yield personId
}

jeszcze lepiej jest użyć wstawiania partii :)

Dziękujemy za @fwbrasil i @mentegy za pomoc!



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak przekonwertować wynik zapytania SQL do struktury danych PANDAS?

  2. Pomoc MySQL:Jak znaleźć wszystkie zamówienia od klienta do ceny <=20 i statusu='nieopłacone'

  3. Wypełnianie JTree z bazy danych

  4. Jak rozwiązywać problemy z definicjami MySQL

  5. Wyjaśnij ten wzorzec zużycia pamięci w Amazon RDS/Mysql?