在表中添加新的行ID

时间:2012-10-09 07:55:27

标签: mysql

我有3个选项可以将新的UNIQUE id(primary_key)添加到我的某个特定表中。

  1. 创建AUTO_INCREMENT字段。
  2. SELECT id FROM table ORDER BY id DESC LIMIT 1
  3. SELECT MAX(id)FROM table
  4. 我目前正在使用选项 2 ,因为人们可能会从他们访问的表中删除行,因此ID会被释放,否则我会使用选项 1 < / p>

    你有什么建议?

3 个答案:

答案 0 :(得分:3)

总是使用选项1(为了避免两个同时插入客户端的race hazard在完成插入之前读取当前最大值idAUTO_INCREMENT通过使用使读取和读取的锁定来防止这种危险的发生。写操作原子。

答案 1 :(得分:1)

选项1

AUTO_INCREMENT

是 最简单的实施和维护方式

答案 2 :(得分:1)

创建一个数据库序列并使用它,即使在多线程访问场景和分布式环境以及集群环境中也能让您更加节省。

相关问题