在SQL Server中,如果我要向一个只有一个自增列的表中插入数据,该如何操作?
比如我要向下面这个表t中插入数据。
请问我应该怎样编写插入语句?
非常感谢。
CREATE TABLE t
(
id INT IDENTITY(1, 1) PRIMARY KEY
)
非常感谢。
CREATE TABLE t
(
id INT IDENTITY(1, 1) PRIMARY KEY
)
插入单个值
INSERT T DEFAULT VALUES
或者在SQL Server 2008+上插入多行:
MERGE INTO t
USING (SELECT TOP 100 *
FROM master..spt_values) T
ON 1 = 0
WHEN NOT MATCHED THEN
INSERT
DEFAULT VALUES;
SET IDENTITY_INSERT t ON
INSERT INTO t
(id)
SELECT TOP 100
(SELECT ISNULL(MAX(id), 0) FROM t (TABLOCKX)) +
ROW_NUMBER() OVER (ORDER BY @@SPID)
FROM master.dbo.spt_values
SET IDENTITY_INSERT t OFF
如果您想继续插入身份值,则使用
INSERT YourTable DEFAULT VALUES;
SET IDENTITY_INSERT YourTable ON
INSERT INTO YourTable (id) VALUES (5);
SET IDENTITY_INSERT YourTable OFF
请尝试:-
INSERT INTO t Values(NULL)