我刚刚遇到一些我认为无效的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中修复了一个.