我正在使用MS SQL Server。有人能告诉我为什么我的数据库中的身份列在应该自动增加1的时候却疯狂地跳了一个数字吗?首先,我一直在逐行输入数据。最终,在可能100个条目之后,它将不按顺序排列,将101个条目放在31个条目之后,不按顺序排列。现在突然间,它从290年跳到了1400年,当时它应该还在....管理工具仍然显示正确的条目数量,但这是没有意义的,这应该是一个计数。有人能给我解释一下吗?
<cfif structKeyExists(form, "user_pass")>
<!--- form has been submitted --->
<cffile
action = "upload"
fileField = "filefieldname"
destination = "#expandPath("/webapps/dash/images/")#"
nameConflict = "MakeUnique"
result = "myfile"
/>
<cfset imagePath = myfile.serverDirectory & "/" & myfile.serverFile>
<cfif isImageFile(imagePath)>
<cfquery datasource="test" name="UserRegistration">
INSERT INTO dbo.Users (employee_number, user_name, user_pass, firstname, lastname, position, email, phone_extension, branch, department, status, picture, admin)
VALUES (
<cfqueryparam value='#form.employee_number#' cfsqltype='cf_sql_varchar' />
, <cfqueryparam value='#form.user_name#' cfsqltype='cf_sql_varchar' />
, <cfqueryparam value='#form.user_pass#' cfsqltype='cf_sql_varchar' />
, <cfqueryparam value='#form.firstname#' cfsqltype='cf_sql_varchar' />
, <cfqueryparam value='#form.lastname#' cfsqltype='cf_sql_varchar' />
, <cfqueryparam value='#form.position#' cfsqltype='cf_sql_varchar' />
, <cfqueryparam value='#form.email#' cfsqltype='cf_sql_varchar' />
, <cfqueryparam value='#form.phone_extension#' cfsqltype='cf_sql_varchar' />
, <cfqueryparam value='Desoto' cfsqltype='cf_sql_varchar' />
, <cfqueryparam value='#form.department#' cfsqltype='cf_sql_varchar' />
, <cfqueryparam value='Active' cfsqltype='cf_sql_varchar' />
, <cfqueryparam value='#myfile.serverFile#' cfsqltype='cf_sql_varchar' />
, <cfqueryparam value='No' cfsqltype='cf_sql_varchar' />
)
</cfquery>
<script>
self.location="../login.cfm";
</script>
<cfelse>
<script>
<!--- not an image file so return some kind of validation message... --->
alert("Not an image file");
self.location="../register.cfm";
</script>
</cfif>
</cfif>
这些数字保证是单调增加的,但不是相邻的。以下是一些相关的文档。
通常,标识列也被限制为唯一或主键。但是,如果没有这些约束,它们甚至不能保证是唯一的。
它们确实增加了。这种奇怪的行为是为了效率,尤其是在并行系统中。
select row_number() over (order by id) as sequential_with_no_gaps
如何更改身份栏? 例如,我有一张表: 我需要随着时间的推移而改变
我有一个表,它有一个主键ID列,并设置为每个新条目的增量为1,这是一个相当标准的配置。此表定期更新新记录,每月归档一次到存档表,然后截断。 我的问题不是关于重新播种列(使用DBCC--我知道如何这样做),而是关于如何使用新的ID值重新对现有记录进行编号。我应该使用循环的动态SQL查询(删除记录、插入记录)来执行此操作吗?还是有一些我不知道的SQL Server函数可以自动重新编号ID列?
我在SQL Server中有一个名为的表。t此表有一个名为的列,属性为。 现在我插入了大约175568行作为测试。然后我删除了大约568行,但是当我再次插入数据时,列从175569开始,而不是从175001开始。 请帮我写一下丢失的身份证
我有以下hsqldb数据库: 我需要添加条目,只有当它们在表中不存在时。我希望在一个步骤中完成这项工作(而不是通过选择步骤来确定条目是否在表中,如果不是这样,则通过第二个步骤插入) hsqldb对此具有合并操作。然而,问题是我有一个id-IDENTITY列,hsqldb应该自动负责设置值,我不知道如何告诉合并操作。 这可以工作,但我必须给出id(3),我需要由hsqldb自动设置id(就像上面的插
原始关闭原因未解决 当我读取CSV / Excel文件时,日期时间列具有“对象”类型。如果它是唯一的一个,很容易识别它,但是我得到了几个不包含时间的对象类型列 - 字符串。 我正在寻找一种方法来识别时间列,而不知道它的名称或位置。目前我所能做的就是这样: csv文件示例:
问题是,我可以强制在末尾填充缺少的ID吗?
我在赛贝斯ASE 15.5中使用赛贝斯Central工具创建了几个表。我已经将列定义为主键(int数据类型),不知何故,该列也变成了标识。 现在,从赛贝斯中心,我无法从该列中删除标识,即使该表或任何引用的表中没有数据。 有人能帮忙吗?我不想使用Set IDENTITY_INSERT,我想从本专栏中完全删除标识行为。 谢啦
问题内容: JPA 2.0(Hibernate 4.2.4.Final/Spring 3.2.8.Release)/ Mysql 5.6 对于管理实体E w /自动生成的主键,例如 出于传统原因,foo需要等于:{id}:。例如,如果id为204,则foo将为“:204:”,因此在事务中发生这种情况是可行的 有没有一种更好的方法来计算值取决于生成的ID的派生列?没有上述技巧,即在持久化之后直接更新