2012-09-13 37 views
0

我想根據數據庫中的表生成插入的sql語句,所以編寫一些代碼來做到這一點,DataProvider是MySQL Connector/Net。如何知道列是否在mysql中自動遞增

MysqlConnection conn = new MysqlConnection("..."); 
DataTable dt = conn.GetSchema("Tables"); 

//foreach table 

DataTable dt = conn.GetSchema("Columns",column_res); 

//generate prepared statement sql by the columns. 

當在表AUTO_INCREMENT列,該代碼不能工作,我必須手動編輯它。有沒有人有任何想法如何知道一列是auto_increment?所以我可以自動獲取所有需要的sql。

回答

0

對於MySql Connector/Net,該步驟的dt中有一個「EXTRA」列。

DataTable dt = conn.GetSchema("Columns",column_res); 

如果列是auto_increment,dt.Rows [i] [「EXTRA」]的值是「自動增量」。