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

前端之家收集整理的这篇文章主要介绍了sql – 为什么在INSERT语句的列列表中忽略以点分隔的前缀?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我刚刚遇到一些我认为无效的sql语法,但实际上工作正常(至少在sql Server中).

鉴于此表:

create table SoMetable (FirstColumn int,SecondColumn int)

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

insert SoMetable(Any.Text.Here.FirstColumn,It.Does.Not.Matter.What.SecondColumn)
values (1,2);

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

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

实际问题:

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

任何关于为什么会这样的解释也将不胜感激.

解决方法

在Connect上这是 reported as a bug,尽管最初鼓励评论,该项目的当前状态将被关闭为“将无法修复”.

Order by子句用于以类似的方式运行,但在sql Server 2005中修复了一个.

原文链接:https://www.f2er.com/mssql/83037.html

猜你在找的MsSQL相关文章