如何知道列是否在mysql中自动递增

时间:2012-09-13 07:33:48

标签: .net ado.net mysql-connector information-schema

我想根据数据库中的表生成insert sql语句,所以编写一些代码来执行此操作,DataProvider是MySQL Connector / Net。

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。

1 个答案:

答案 0 :(得分:0)

对于MySql Connector / Net,步骤的dt中有一个“EXTRA”列。

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

如果列是auto_increment,则dt.Rows [i] [“EXTRA”]的值为“auto increment”。