2014-01-10 43 views
0

我使用Codeigniter和我的數據庫是VFP,我使用odbc連接到數據庫。插入多個錯誤與odbc

我試着用odbc_exec代替代碼點燃器的odbc驅動程序。

當我嘗試執行這樣的查詢:

INSERT INTO myTable (field1, field2) VALUES (1, 'myValue'), (2, 'anotherValue') 

我有一個SQL錯誤。

Message: odbc_exec(): SQL error: [Microsoft][ODBC Visual FoxPro Driver]Command contains unrecognized phrase/keyword., SQL state 37000 in SQLExecDirect 

插入一個一個正在工作。但我必須插入超過20,000行,並可能需要很長時間。也許有一種替代語法,或者我做錯了什麼?

回答

5

替代語法如下:

INSERT INTO dbf_name [(FieldName1 [, FieldName2, ...])] SELECT SELECTClauses [UNION UnionClause SELECT SELECTClauses ...] 

如果您需要從其他數據集插入數據,那麼你可以使用這個語法。否則,我看不出人工插入之間的差異與

INSERT INTO myBable (field1, field2) VALUES (1, 'myValue'), (2, 'anotherValue') 

INSERT INTO myBable (field1, field2) VALUES (1, 'myValue') 
INSERT INTO myBable (field1, field2) VALUES (2, 'anotherValue') 
+1

@CarlosGoce,奧列格是在他的最後一個部分是正確的。通常VFP和dbase不支持多值插入的逗號列表。他的最後顯示兩個單獨的插入命令是工作。 – DRapp