在SQL中插入语句

时间:2013-07-13 00:35:08

标签: php mysql sql

当我从PHPMyAdmin获取插入语句时,它看起来像这样

INSERT INTO `users`(`user_id`, `user_name`, `user_passwd`) VALUES ([value-1],[value-2],[value-3])

但这不会起作用:

INSERT INTO `users` VALUES ([value-1],[value-2],[value-3])

为什么额外部分会这样做?

5 个答案:

答案 0 :(得分:3)

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

如果您要将值插入每个列,则可以省略该部分。也就是说,如果指定的值的数量与表中的列数匹配。

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

答案 1 :(得分:1)

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

答案 2 :(得分:1)

在第一种情况下,您可以按任何顺序插入值,而不一定是您定义表格架构的顺序。您也可以选择跳过可以为空的列。

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

答案 3 :(得分:0)

使用第一种方法,您可以定义自己的列顺序以插入值。如果不进行规范(如第二个示例),则必须按照与表项目

相同的顺序插入值

答案 4 :(得分:0)

仅当您按照与表中显示的顺序相同的顺序指定值时,它才有效。如果要以其他顺序指定值或仅将值插入表中的几个列,则必须使用完整版本。