[英]Is there any reason to use INSERT INTO tbl_name () VALUES(); syntax instead of SET col_name = col_value,…?
我个人更喜欢使用以下语法:
INSERT INTO tab_name
SET
col1 = value1,
col2 = value2
我更喜欢这种语法,因为它可以让我完全控制列名和赋值之间的对应关系。 从我的角度来看,它看起来更好。
但是,Internet中(以及堆栈溢出中)的大多数示例和操作方法都使用INSERT VALUES语法,如下所示:
INSERT INTO tab_name (col1,col2) VALUES (value1,value2)
我同意可以稍短一些。 但是尽管如此,我几乎无法想象这将是多么方便。 尤其是如果插入(更新)列的数量超过3或4。如果我需要向查询中添加或从查询中排除一个或多个列,则很容易导致错误。
因此,问题是 :是否有理由在INSERT/UPDATE SET
上使用INSERT/UPDATE () VALUES ()
语法?
因为SET
INSERT INTO tab_name
SET
col1 = value1,
col2 = value2
不是SQL标准。
如果必须使用其他DBMS,则不能使用此语法。
第一个是SQL标准,第二个是MySQL的扩展。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.