Adi*_*dir 1 mysql sql sql-server
在MySql中,我可以有一个带有自动增量列的表并以这种方式插入:
INSERT INTO tbl VALUES(null, "bla", "bla");
Run Code Online (Sandbox Code Playgroud)
使用Microsoft SQL Server Express可以执行任何操作吗?
代替这个:
INSERT INTO tbl(`v1`, `v2`) VALUES ("bla", "bla");
Run Code Online (Sandbox Code Playgroud)
谢谢
在Sql Server中,不需要为标识列指定值(我猜这是mysql中的null所做的事情)。
因此,用于插入表的简短语法为:
Insert Into tbl Values('bla', 'bla')
Run Code Online (Sandbox Code Playgroud)
无论列是否被声明为表的主键,此方法都有效,并且也适用于表中列的任何位置。也就是说,即使列位于中间,如下所示:
Create Table tbl (
[Col1] [varchar](50) NULL,
[Id] [int] IDENTITY(1,1) NOT NULL,
[Col2] [varchar](50) NULL
)
Run Code Online (Sandbox Code Playgroud)
Sql Server仍将很高兴地解释insert语句并注意标识插入。
正如其他张贴者所提到的,在Sql Server中,您实际上需要发出Set Identity_Insert tbl On命令以能够为标识列指定值。
| 归档时间: |
|
| 查看次数: |
4549 次 |
| 最近记录: |