如何标记“代码”,序号(1,2,3,4 ... n)?
实施例
我的设备类型查找表包含移动设备,并具有以下属性
Id
Code
Name
答案 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
?