sql >> データベース >  >> RDS >> Mysql

Quillでトランザクションを使用して1対多のリレーショナルオブジェクトを挿入できない

    問題は、現在、Quillasyncがトランザクション内の同時操作をサポートしていないことでした。

    したがって、動物の挿入を順番に行う必要がありました:

    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
    }
    

    また、バッチ挿入を使用することをお勧めします:)

    @fwbrasilと@mentegyの支援に感謝します!



    1. PHP / MySQL:SOUNDSLIKEクエリ結果を強調表示

    2. OracleAPEXでWindowsユーザー名を把握/取得する方法

    3. XamppはMacOSXでMySQLサーバーを起動しませんか?

    4. 複数のアレイを並列にネスト解除します