【问题标题】:What is the SQL Command for inserting into a table that has no non-identity columns用于插入没有非标识列的表的 SQL 命令是什么
【发布时间】:2011-10-23 16:40:45
【问题描述】:

我有一个只有一个标识列的表。向只有一个标识列的表中插入行的 SQL 命令是什么,我想在其中使用标识列的自动生成?

我试过了

INSERT INTO TableName
INSERT INTO TableName () VALUES ()
INSERT INTO TableName (Id) VALUES (DEFAULT)

没有在 SQL Server 2008 R2 中工作。 Id 是一个标识列。

【问题讨论】:

  • 关键字 DEFAULTNULL 都可以用作 INSERT 语句中的值 - 如果列存在默认约束,它们会触发数据库使用默认约束。
  • 例外它们在这种情况下不起作用,因为您无法将它们插入标识列。
  • 谢天谢地,SQL Server 2012 中的 ANSI 序列已弃用 IDENTITY,因此事情可以恢复正常:p
  • 什么是在 SQL Server 2012 中替换标识列?
  • @OMGPonies 我没有看到任何关于 IDENTITY 被弃用的信息,尽管我确实查看了 Denali 中弃用的功能列表。我认为序列是更好的途径,但我想 IDENTITY 列会出现一段时间。

标签: sql-server


【解决方案1】:
INSERT INTO TableName DEFAULT VALUES;

DEFAULT VALUES: 强制新行包含默认值 为每一列定义。

【讨论】:

    猜你喜欢
    • 2011-03-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多