数据库设计 - 查找表

时间:2011-10-04 17:10:42

标签: database-design

如何标记“代码”,序号(1,2,3,4 ... n)?

实施例

我的设备类型查找表包含移动设备,并具有以下属性

Id
Code
Name

4 个答案:

答案 0 :(得分:0)

在MySQL中,您可以将字段(即列)表征为“自动增量”,这会在您将新闻行插入表格时更新code字段。我相信这对许多(如果不是全部)SQL系统来说都很常见。请查看over here以获取有关MySQL操作的说明。

答案 1 :(得分:0)

在postgreSQL中,列类型将是串行(或bigserial)来完成同样的事情。然后在你的插入中留下串行列,db引擎将自动递增,就像Pete的优秀链接所说的那样。

答案 2 :(得分:0)

我们大多数人都没有构建使用id号的表 - 通常是顺序的 - 以及一个也是顺序的附加代码。没有意义。

如果代码是连续的唯一编号,请删除id列并使代码成为主键。

答案 3 :(得分:0)

如果您可以容忍序列中的空白,您可以使用其他答案中的任何建议,您也可以在Oracle中使用SEQUENCE,在IBM DB2中使用IDENTITY或自动增加MS SQL Server中的字段。

但是,如果你绝对需要避免差距,即使在并发环境中,事情也会变得不那么直截了当。实质上,你必须确定“候选”值,然后尝试插入它,然后准备好在你之前插入并发事务时重试整个过程。

BTW,您是否可以使用code作为主键并完全放弃Id