当前位置:  开发笔记 > 后端 > 正文

INSERT vs INSERT INTO

如何解决《INSERTvsINSERTINTO》经验,为你挑选了3个好方法。

我已经在MS SQL中使用T-SQL一段时间了,不知怎的,每当我必须将数据插入表中时,我倾向于使用语法:

INSERT INTO myTable 

我知道关键字INTO在这里是可选的,我不必使用它,但不知怎的,它在我的案例中成长为习惯.

我的问题是:

使用INSERT语法对比有什么影响INSERT INTO吗?

哪一个完全符合标准?

它们是否在SQL标准的其他实现中都有效?

Bill the Liz.. 88

INSERT INTO是标准.尽管INTO在大多数实现中都是可选的,但它需要一些,因此最好包含它以确保您的代码是可移植的.

您可以在此处找到SQL标准的多个版本的链接.我在这里找到了旧版标准的HTML版本.



1> Bill the Liz..:

INSERT INTO是标准.尽管INTO在大多数实现中都是可选的,但它需要一些,因此最好包含它以确保您的代码是可移植的.

您可以在此处找到SQL标准的多个版本的链接.我在这里找到了旧版标准的HTML版本.


《 SQL-99完全,真的》一书说Sybase(以及MS SQL Server)的行为是非标准的,允许INTO是可选的。其他品牌的数据库需要关键字。
对.如果你总是使用INTO,你不需要记住哪些认为它是可选的.所有实现都允许使用它.

2> Tomalak..:

它们是相同的,INTO在T-SQL中是完全可选的(其他SQL方言可能不同).

与其他答案相反,我认为它会影响可读性INTO.

我认为这是一个概念性的事情:在我看来,我没有在名为"Customer"的表中插入一行,但我正在插入一个Customer.(这与我用来以单数而不是复数命名我的表的事实相关).

如果你遵循第一个概念,INSERT INTO Customer那么你很可能"感觉正确".

如果你遵循第二个概念,它很可能INSERT Customer适合你.


你的答案是事实上正确的.当人们低估投票的观点时,这是一种耻辱.我认为SO的一个好处是听到那些不同的意见.
我认为你的方法的风险在于你可能会引导新的程序员将对象与表混淆.

3> Tony Andrews..:

它在mySQL中可能是可选的,但在某些其他DBMS中是必需的,例如Oracle.因此,使用INTO关键字,SQL将更具可移植性,因为它的价值.

推荐阅读
围脖上的博博_771
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有