我通常会找到三种使用MYSQL插入命令的方法
INSERT INTO `table` (field1, field2, field3) VALUES ('value1', 'value2', 'value3');
或
INSERT INTO `table` VALUES ('value1', 'value2', 'value3');
或
INSERT INTO `table` SET `field1`='value1', `field2`='value2', `field3`='value3';
这些之间有什么不同吗?
答案 0 :(得分:2)
前两个是标准SQL;第三个是非标准的,特定于MySQL,源自UPDATE的标准语法。
前两个之间的区别在于,一个指定了要插入的字段,这更灵活,因为如果您对将字段设置为NULL感到满意,则可能会错过字段。同时指定字段意味着如果表格布局发生变化,该语句仍然有效;如果你没有指定依赖于表的字段,那就永远不会改变。
答案 1 :(得分:1)
您正在寻找什么方面的差异?就使用而言,第一个和第三个insert语句允许您只设置所需的列,而第二个语句总是尝试按表结构的顺序将值插入所有列。
答案 2 :(得分:0)
只有一个区别,对我来说非常明显:第二个不允许你指定自己的字段集来插入。