【问题标题】:How do I create a trigger to insert a value into an ID field that is Max([ID Field])+1 on insert如何创建触发器以将值插入到插入时为 Max([ID Field])+1 的 ID 字段中
【发布时间】:2012-07-02 13:16:58
【问题描述】:

当我添加新记录时,我希望 SQL Server 自动添加新 ID。

已经有一些记录已经迁移过来(从 Access),在我完成为其他所需功能准备服务器之前,我将手动迁移更多记录(如果这会影响任何可能的答案)。

实现这一点的最简单方法是什么。

【问题讨论】:

  • 通常情况下,不推荐使用这些方法,因为这个简单的系统很可能在负载下惨遭失败 - 抛出重复值。

标签: sql sql-server triggers


【解决方案1】:

最简单的方法是将列设为IDENTITY columnHere is an example of how to do this(不像ALTER TABLE那么简单)。

【讨论】:

  • 谢谢 Aaron,因为无论如何我都会使用 MS Access 作为前端。我想我会在那里控制父 ID。家长 ID 不多(一天不超过三个),所以不会有问题。
【解决方案2】:

使用Identity 字段类型。这将使用序列中的下一个可用数字自动为您创建一个值。

这是一个如何在现有表上创建Identity 列(添加新列)的示例

ALTER TABLE MyTable ADD IdColumn INT IDENTITY(1,1)

【讨论】:

    猜你喜欢
    • 2021-12-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-25
    • 1970-01-01
    • 2013-10-22
    • 2019-04-28
    • 1970-01-01
    相关资源
    最近更新 更多