2010-11-05 62 views
1

我创建其中一个字段需要自动递增,从1场将是序列号的数据库。我应该用我使用BIGINT(20)无符号的“串行”数据类型,即?我可以使用SERIAL数据类型吗?

+1

您正在使用什么数据库? – Oded 2010-11-05 09:44:06

+0

的phpmyadmin ............. – Johnson 2010-11-05 10:07:56

+1

phpMyAdmin是一个应用程序,它是不是** **一个DBMS。但是由于它用于管理MySQL数据库,我们假设您使用的是MySQL(尽管数据类型“serial”是PostgreSQL特有的数据类型) – 2011-02-16 21:47:22

回答

1

嗯,这取决于,但可能不是大多数企业都希望他们已经使用的序列号的一些会计。这通常意味着他们想要一个没有间隙的可审计序列,数据库管理系统生成的自动序列不保证没有间隙

处理这个问题的规范方法是创建一个序列号表(或者,根据应用程序,只是一个更复杂的序列号的顺序部分)的表。该应用程序“需要”下一个可用的序列号从该表,并更新该表与一些相关的,可审计的数据。喜欢的东西的用户名和时间戳是常见的,但它确实取决于应用程序

你必须小心与吃每秒数千次序列号的生产线。如此多的活动可能会导致争议序列号表问题。

相关问题