這是可能的還是我必須列出所有列?我是否必須按順序列出所有列,並在INSERT語句中爲每個列設置值?
INSERT INTO table_name (column1, **column3**, column2,...)
VALUES (value1, value2, value3,...)
我是否必須按順序列出所有列併爲每個列設置值?
這是可能的還是我必須列出所有列?我是否必須按順序列出所有列,並在INSERT語句中爲每個列設置值?
INSERT INTO table_name (column1, **column3**, column2,...)
VALUES (value1, value2, value3,...)
我是否必須按順序列出所有列併爲每個列設置值?
爲了您的INSERT語句應該是這樣的:
INSERT INTO table_name (column1, column3, column2,...) VALUES (value1, value3, value2,...)
既然你感動欄3,value3應是「匹配」它
你只需要把你打算插入的列。唯一需要匹配的順序是列名和值。
IE:3列:col1
,col2
,col3
INSERT INTO TABLE (
COL1 COL2 ,
) VALUES(
col1value ,
col2value )
INSERT INTO TABLE (
COL2 ,
COL3 ) VALUES(
col2value ,
col3value )
INSERT INTO TABLE (
COL3 ,
COL2 ) VALUES(
col3value ,
col2value )
你可以把你的查詢列任何訂單,只要你指定像你這樣的訂單在上面做。作爲VALUE
子句的一部分插入的實際值必須與查詢的INSERT INTO (x,y,z)
部分相匹配。
你做不指定的任何列將插入一個默認值。默認值由創建列時設置的DEFAULT
值決定。
如果列上有一個NOT NULL
規範並且沒有DEFAULT
值,並且您沒有在查詢中提供一個值,則INSERT
可能會失敗。
您的列名必須與您插入的值相對應。例如,在上面的查詢中,如果column1是一個varchar,column3是一個int等,那麼這些值必須與您的查詢成功執行的順序一致。