【发布时间】:2015-10-15 00:21:39
【问题描述】:
是否可以在不插入数据库表的情况下进行查询以找出下一个 ID 是什么?基本上只是调用数据库来查看下一个 ID 号是什么预填充到文本框中?考虑到多个用户可能同时使用它。该程序需要足够聪明才能知道该号码是否已被使用。我真的怀疑人们会在同一时间添加新记录,但我只是想看看在有趣的 sql 和 Coldfusion 世界中会发生什么。
【问题讨论】:
-
大多数 SQL 引擎都有一个称为自动增量的功能。每次插入新行时,使用此“标志”指定的列的值都会增加。因此,您根本不需要处理要插入的 ID。拥有自己的事务安全插入需要锁定/保留 ID。但是你为什么要实现一些 SQL 已经处理好的东西,对吧?
-
(编辑):我真的怀疑.. 这没有考虑到 html 的无状态性和网络应用程序是多线程的事实。如果用户群较小,这可能不太可能,但仍然可能。没有办法以绝对确定的方式知道。要回答您的问题,这些选项是特定于数据库的。如果您进行搜索,一些选项是:stackoverflow.com/questions/562578/… 和 stackoverflow.com/questions/6761403/… 就是说,我能问一下为什么(因为大多数数据库都会为您处理)?
-
由于已经有许多现有答案解释了各种 dbms 的选项,因此投票关闭作为重复项。
-
@DavidBrierton - 嗯,你的帖子不是很具体。您能否用您的 dbms 和版本更新您的问题,并简要说明您已经探索过哪些选项,以便人们不要重复您可能已经知道的内容? :-)
标签: sql coldfusion