MYSQL - 由于批量插入期间的重复,返回值失败

时间:2017-04-06 12:44:28

标签: php mysql

我有一个包含以下列名的表:

id (Primary Key, AI) ccode(char15, Unique Constraint), version(tinyint 3)

我需要生成这些唯一代码并在表格中一次插入X代码,其中X可以在1000到1百万之间变化,并且每当系统管理员希望生成更多代码时,此活动将重复多次。插入的代码在应用的整个生命周期内都必须是唯一的。我正在使用LAMP堆栈。

我首先尝试一次插入一行,但性能很糟糕。我现在已经开始使用批量插入来加速这个过程。我正在考虑在进行批量插入之前获取计数,使用INSERT IGNORE忽略重复值,在批量插入后进行计数并进行另一轮,直到我达到所需的X代码。问题:

  1. 如果不使用IGNORE
  2. ,还有其他方法吗?
  3. 如何获取导致重复约束警告的代码值
  4. 除了我正在做的事情之外,还有其他方法可以获得非重复插入的计数吗?
  5. 更新:我使用以下逻辑生成代码:https://stackoverflow.com/a/13733588

0 个答案:

没有答案