[英]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.