我个人更喜欢使用的语法如下:是否有任何理由使用INSERT INTO tbl_name()VALUES();语法而不是SET col_name = col_value,...?
INSERT INTO tab_name
SET
col1 = value1,
col2 = value2
我喜欢这种语法,它给了我在列名和分配的值之间的对应关系的完全控制。从我的角度来看,这是更好的可视化。
然而,大多数的在互联网(以及在堆栈溢出以及)的例子和HOWTO的使用插入值如下语法:
INSERT INTO tab_name (col1,col2) VALUES (value1,value2)
我同意,它可以稍短。但尽管如此,我很难想象这是如何得心应手的。特别是如果插入(更新)列的数量超过3或4.如果我需要在查询中添加或排除一列或多列,很容易导致错误。
所以问题是:是否有任何理由使用INSERT/UPDATE() VALUES()
语法而不是INSERT/UPDATE SET
?
的可能重复[MySQL的INSERT INTO表值.. VS INSERT INTO表SET](http://stackoverflow.com/questions/861722/mysql-insert-into -table值-VS-嵌件成表设置) – serakfalcon 2015-02-11 11:31:52