自动增量非唯一列

Autoincrement non-unique column

我正在尝试为我们的网店创建一个预订队列系统。有时我们的订单多于存货,只能送货到我们的仓库,我正在努力组织,以便先下订单的人先拿到他们的产品。

当客户想要更改订单时,例如添加一些东西,就会出现问题。出于预订目的,我们然后将第一个订单的 return 发送到我们的系统,这会创建另一个订单,然后最终创建一个包含所有内容的新订单。这导致该客户在我们当前系统的队列列表中排在最后,我们按创建日期去那里。

我想做的是将原始队列位置复制到新订单中,而不会弄乱自动递增。这也意味着将有三个订单(Original,plus return,plus new)具有相同的编号。

id  | order   | queue | ordercomment
1   | 1001    | 1     | new order
2   | 1002    | 2     | new order
3   | 1003    | 3     | new order
4   | 1004    | 1     | return order 1001
5   | 1005    | 1     | corrected order 1001
6   | 1006    | 4     | new order

有没有什么办法可以解决这个问题,而无需手动递增解决方案,每当下订单时检查当前的最高数字?

where we go by date created

但是你的数据没有这样的日期。您依靠递增整数来确定排序顺序,这就是您 运行 遇到麻烦的地方。

如果您想按创建日期排序,请存储订单的创建日期。任何时候您修改、附加或以其他方式重新创建订单,您仍然可以保留原始订单日期。可能有两列,当前订单的日期和原始订单的日期。 (对于大多数订单来说,这两个值是相同的,但这并没有错。)

那么您的优先顺序就是原始订单的日期。

基本上,不要尝试使用整数作为时间戳。使用时间戳。