加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

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

发布时间:2020-12-12 16:18:51 所属栏目:MsSql教程 来源:网络整理
导读:我刚刚遇到一些我认为无效的SQL语法,但实际上工作正常(至少在SQL Server中). 鉴于此表: create table SomeTable (FirstColumn int,SecondColumn int) 执行以下insert语句时没有错误: insert SomeTable(Any.Text.Here.FirstColumn,It.Does.Not.Matter.What.S
我刚刚遇到一些我认为无效的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中修复了一个.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读