Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Các truy vấn Slick 3.0 (scala) không trả về dữ liệu cho đến khi chúng được chạy nhiều lần (tôi nghĩ vậy)

Tất cả các cuộc gọi DB sẽ trả lại cho bạn ngay lập tức với Futures , ngay cả khi họ chưa hoàn thành các hoạt động của mình. Đây là không đồng bộ không đồng bộ.

Bạn có thể thay đổi mã của mình để phù hợp với Futures bằng một trong hai cách:

  1. bạn có thể sử dụng Await.result với tất cả các lệnh gọi DB, phải đợi tại thời điểm đó cho đến khi chúng hoàn tất, ví dụ:Await.result(db.run(insertEffect), Duration.Inf)

  2. bạn có thể sử dụng .map (hoặc .flatMap nếu bạn đang sử dụng Future khác từ bên trong), với mã mà bạn muốn chạy khi hoạt động DB hoàn tất. Ví dụ:db.run(insertEffect).map(_ => ... do stuff... )

Hãy xem Stack Overflow khác chuỗi liên quan đến ngoại lệ với một số ý tưởng về nguyên nhân.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm thế nào để kiểm tra cơ sở dữ liệu và kết quả là kiểm tra một nút radio?

  2. Có phải ký tự đại diện trong cột ngoài cùng bên trái của chỉ mục tổng hợp có nghĩa là các cột còn lại trong chỉ mục không được sử dụng trong tra cứu chỉ mục (MySQL) không?

  3. Tại sao công cụ MyISAM của MySQL không hỗ trợ Khoá ngoại?

  4. Phần bù giới hạn âm trong mysql

  5. Cách đặt hàng theo FIELD với GROUP BY