1

在我们的多用户访问环境中,有时需要对一组记录执行不同的操作。例如,在 Orders 表中,用户可能想要删除一组订单,或者打印出一组记录等。为此,在 Orders 表中,我创建了一个名为 aSelect 的布尔字段(“a " 是为了避免“Select” SQL 保留关键字)。在订单表单上,用户可以通过单击 aSelect 字段的复选框,然后单击“打印”、“删除”或任何其他操作来检查他们想要处理的订单。然后表单后面的代码说要处理所有订单的操作 WHERE ASELECT=TRUE

问题是,(虽然它还没有发生),aSelect 复选框绑定到表中的基础字段,并且两个用户可以同时更改 aSelect。因此,假设用户 A 选择要删除的两条记录,但在他点击删除按钮之前,另一个尝试打印 100 条记录的用户选择了 100 条记录。结果将是所有 100 条记录都将被删除——这不是预期的结果。

任何解决方案或替代方案?这种情况在整个数据库中多次出现。Orders 表只是一个例子。

谢谢,

4

1 回答 1

1

创建一个包含 username/userid 列和 OrderID 列的表。

当用户进行选择时,使用 OrderID 和用户名向该表添加一条记录,然后在运行查询时加入该选择表或使用 IN() 子句并按用户名过滤。

瞧——用户特定的选择,可以改进/扩展,但这是我的基本产品。

于 2013-02-18T11:31:11.200 回答