自动增量非唯一列
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
但是你的数据没有这样的日期。您依靠递增整数来确定排序顺序,这就是您 运行 遇到麻烦的地方。
如果您想按创建日期排序,请存储订单的创建日期。任何时候您修改、附加或以其他方式重新创建订单,您仍然可以保留原始订单日期。可能有两列,当前订单的日期和原始订单的日期。 (对于大多数订单来说,这两个值是相同的,但这并没有错。)
那么您的优先顺序就是原始订单的日期。
基本上,不要尝试使用整数作为时间戳。使用时间戳。
我正在尝试为我们的网店创建一个预订队列系统。有时我们的订单多于存货,只能送货到我们的仓库,我正在努力组织,以便先下订单的人先拿到他们的产品。
当客户想要更改订单时,例如添加一些东西,就会出现问题。出于预订目的,我们然后将第一个订单的 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
但是你的数据没有这样的日期。您依靠递增整数来确定排序顺序,这就是您 运行 遇到麻烦的地方。
如果您想按创建日期排序,请存储订单的创建日期。任何时候您修改、附加或以其他方式重新创建订单,您仍然可以保留原始订单日期。可能有两列,当前订单的日期和原始订单的日期。 (对于大多数订单来说,这两个值是相同的,但这并没有错。)
那么您的优先顺序就是原始订单的日期。
基本上,不要尝试使用整数作为时间戳。使用时间戳。