欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

数据库批量sql插入语句动态获取最新自增id问题如何解决?

程序员文章站 2022-05-28 20:06:04
在批量插入语句后,动态查询当前最大的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();
            }
        }