2015-02-11 27 views
-1

我個人更喜歡使用的語法如下:是否有任何理由使用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

+2

的可能重複[MySQL的INSERT INTO表值.. VS INSERT INTO表SET](http://stackoverflow.com/questions/861722/mysql-insert-into -table值-VS-嵌件成表設置) – serakfalcon 2015-02-11 11:31:52

回答

4

由於SET

INSERT INTO tab_name 
SET 
    col1 = value1, 
    col2 = value2 

不是SQL標準。如果您不得不使用其他DBMS,則不能使用此語法。

相關問題