首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL中的INSERT语句

SQL中的INSERT语句
EN

Stack Overflow用户
提问于 2013-07-13 08:35:08
回答 5查看 45关注 0票数 0

当我从PHPMyAdmin得到一条insert语句时,它看起来像这样

代码语言:javascript
复制
INSERT INTO `users`(`user_id`, `user_name`, `user_passwd`) VALUES ([value-1],[value-2],[value-3])

但这不也行得通吗:

代码语言:javascript
复制
INSERT INTO `users` VALUES ([value-1],[value-2],[value-3])

为什么会有额外的部分呢?

EN

回答 5

Stack Overflow用户

发布于 2013-07-13 08:37:10

“额外的部分”是定义要插入的列(按顺序)。

如果且仅当您要将值插入到每一列中时,才可以省略该部分。也就是说,如果指定的值数与表中的列数相匹配。

大号,粗体注释:

即使您在每一列中都插入一个值,仍然指定列也是一个非常好的主意。原因是,如果明天您决定需要向表中添加另一个列,则所有未指定列的现有代码都将中断。

票数 3
EN

Stack Overflow用户

发布于 2013-07-13 08:38:28

它允许您以任何顺序放置项目,还允许您排除自动增量字段。如果要按该顺序向每个字段中插入数据,则可以排除它。

票数 1
EN

Stack Overflow用户

发布于 2013-07-13 08:39:04

在第一种情况下,您可以按任何顺序插入值,而不必按照定义表模式的顺序插入。此外,您还可以选择跳过可为空的列。

在第二种情况下,您必须插入由表模式定义的值,并且不能跳过可为空的列。您必须显式地为它们提供null值。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17625869

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档