sql >> Databáze >  >> RDS >> Mysql

Selhání použití transakcí v Quill k VLOŽENÍ relačních objektů typu one-to-many

Problém byl, že v současné době Quill asynchronní nepodporuje souběžné operace uvnitř transakcí.

Takže bylo nutné provést vkládání zvířat postupně:

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
}

ještě lepší je použít dávkové vkládání :)

Děkujeme za @fwbrasil a @mentegy za pomoc!



  1. Opak Distinct v MySQL

  2. Použijte text ze záznamu k vložení do ovládacího pole formuláře Access

  3. Jak zkontrolovat velikost databáze MySQL v Linuxu

  4. Je následující dotaz možný s SQL Pivot?