这是我第一次需要制作演示站点(这是使用PostgresSql在PHP中完成的一些示例数据)。目前我们允许用户登录并执行网站上提供的操作。我想要什么要做的是,一旦用户完成操作,我需要删除用户创建的数据。
但问题是如果用户在演示域中创建的数据库中插入数据,那么如果我删除域数据,可能会有另一个用户在另一个会话中插入或删除数据。所以我不想显示其他用户操作(如插入,删除)给别人。它不会发生冲突。我怎么能这样做。
答案 0 :(得分:2)
有几种方法可以做到这一点。
SERIAL
列无法正确重置,因为您的序列将在删除数据后保留在当前位置。答案 1 :(得分:2)
为每个演示用户创建一个新数据库。使用来自“主”数据库的示例数据填充每个新数据库,该数据库永远不会被尝试演示的人更改。然后,当用户完成演示时,删除整个数据库。
您可以对此进行优化,以便您只需为每个用户创建一些临时表,这实际上取决于用户在使用演示时究竟修改了哪些数据。