我在写一个PHP脚本,我需要生成唯一代码。这些代码由管理员用户每次生成100K。我有一个生成代码的算法,但是重复会进入混合的机会很小 - 大概有0.001%的机会,但仍然可能导致问题。具有唯一约束的批量插入语句
我期待运行BULK INSERT语句:
INSERT INTO coupons ('code') VALUES ('code1'),('code2'),('code3');
这将有它的100K码。我想知道的是,如果它们都是唯一的,除非让我们说code100将在该代码处插入停止,否则将继续插入其余部分,并通过警告让我知道。
如果在第一个副本中最终失败,我该怎么办?性能不是一个大问题,因为它是一个管理区域,我可以把这个过程转到完成。
我最终创建了一个类来检查生成的代码,然后只插入唯一的代码,然后再次启动该过程,直到数量满足为止。在性能方面表现很好,因为它可以轻松地在后台插入几百万条记录,而不会让公众网站感到紧张。 – 2013-07-12 15:03:53
我有类似的问题。你能否详细说明你如何去做这件事? – FBP 2017-04-05 18:20:55