相关疑难解决方法(0)

为什么在INSERT语句的列列表中忽略以点分隔的前缀?

我刚刚遇到一些我认为无效的SQL语法,但实际上工作正常(至少在SQL Server中).

鉴于此表:

create table SomeTable (FirstColumn int, SecondColumn int)
Run Code Online (Sandbox Code Playgroud)

insert执行以下语句时没有错误:

insert SomeTable(Any.Text.Here.FirstColumn, It.Does.Not.Matter.What.SecondColumn)
values (1,2);
Run Code Online (Sandbox Code Playgroud)

insert语句完成且没有错误,并且检查select * from SomeTable表明它确实正确执行.请参阅小提琴:http://sqlfiddle.com/#!6/ 18de0/2

SQL Server似乎只是忽略除插入列表中给出的列名的最后部分之外的任何内容.

实际问题:

这可以作为记录的行为吗?

任何有关为何如此的解释也将不胜感激.

sql sql-server

7
推荐指数
1
解决办法
184
查看次数

标签 统计

sql ×1

sql-server ×1