簡體   English   中英

是否有任何理由使用INSERT INTO tbl_name()VALUES(); 語法,而不是SET col_name = col_value,…?

[英]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的擴展。

還可以隨時檢查: MySQL INSERT INTO表VALUES .. vs INSERT INTO表SET

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM