Mysql
 sql >> база данни >  >> RDS >> Mysql

Slick 3.0 (scala) заявките не връщат данни, докато не бъдат изпълнени няколко пъти (мисля)

Всички DB извиквания ще се върнат при вас незабавно с Futures , дори ако не са приключили с операциите си. Това е асинхронно, а не синхронно.

Можете да промените кода си, за да се съобразите с Futures по един от двата начина:

  1. можете да използвате Await.result с всички DB извиквания, за да изчакате в този момент, докато завършат, например:Await.result(db.run(insertEffect), Duration.Inf)

  2. можете да използвате .map (или .flatMap ако използвате друг Future отвътре), с код, който искате да изпълните, когато операцията на DB приключи. Например:db.run(insertEffect).map(_ => ... do stuff... )

Разгледайте друг Stack Overflow нишка по отношение на изключението с някои идеи за причината.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Можете ли да разделите един псевдоним на друг в MySQL?

  2. Присъединете се към рамки с данни на pandas въз основа на стойности на колони

  3. Експортирайте MySQL или MariaDB база данни

  4. Стойност по подразбиране на MySQL въз основа на изглед

  5. Има ли начин да се направи INSERT...ON DUPLICATE KEY UPDATE в Zend Framework 1.5?