数据库批量sql插入语句动态获取最新自增id问题如何解决?
程序员文章站
2023-08-26 09:00:23
在批量插入语句后,动态查询当前最大的id,同时减少打开关闭操作。
///
/// 多语句插入,动态获取最新id...
在批量插入语句后,动态查询当前最大的id,同时减少打开关闭操作。
/// <summary> /// 多语句插入,动态获取最新id /// </summary> public void insertmult() { mysqldbctrl db = new mysqldbctrl(""); mysqldatareader dr=null; string str_cmd = "",id="0"; string str_cmd_id="select last_insert_id() as id"; try { if (db.begindbaccess()) { for (int i = 0; i < 10; i++) { //在未提交事务前获取当前表中的最新id,可以避免多次库连接关闭 dr = db.execute_datareader(str_cmd_id); if (dr.read()) { id = dr["id"].tostring(); } dr.close(); str_cmd = "insert into test (name) values ('" + id + "')"; if (i == 9) db.execute_nonquery(str_cmd, true); else db.execute_nonquery(str_cmd, false); } } db.enddbaccess(); } catch (exception ex) { if (db != null) db.enddbaccess(); } }