【发布时间】:2021-11-26 09:00:00
【问题描述】:
我正在 R Shiny 中构建一个应用程序。
单击“输入数据”后,将显示用户输入数据的 UI。
单击“提交”时,输入的数据将存储在 PostgreSQL 数据库中。
现在我通过dbGetQuery() 命令将数据库存储为本地的反应数据表。然后我只需将主键 ID 加 1 并将数据添加到我的反应式数据表中。然后我使用dbWriteTable() 将其插入到 Postgres 中。
当多个用户想要同时输入数据时,此过程会导致主键问题。 当用户单击“输入数据”以使另一个用户获得下一个 ID 时,是否有一种方法可以使会话以某种方式“保护”用户的下一个 ID?这将解决主键问题。
在 Postgres 中,我读到了 setval() 或 nextval() 命令,但我在 R Shiny 中寻找类似的东西。
【问题讨论】:
-
我想你可能想看看pool 包以获得更好的数据库连接管理。
标签: r postgresql shiny