首页 > 解决方案 > 如何从两个插入操作中获取中间 LastInsertID?

问题描述

我的部分查询如下所示。我正在使用带有 C# 的 ASP.net。我想在查询结束时将“LastRegionID”放入我的 C# 代码中。目前,我总是得到last_ID post insert_region_cost。但我想要的是在区域插入之后,即“LastRegionID”。这可能吗?还有其他方法可以实现我想要的吗?

                    string Query = @"INSERT INTO region (" +
                                    "REGION_USER_ID," +
                                    "REGION_NICK_NAME," +
                                    "REGION_POLYGON) " + 
                                "VALUES (" +
                                    "@Parameter1," +
                                    "@Parameter2," +
                                    "PolygonFromText(@Parameter3)); " +

                                "SET @'LastRegionID' = LAST_INSERT_ID();" +

                                "INSERT INTO region_cost (" +
                                    "REGION_ID," +
                                    "REGION_COST," +
                                    "REGION_COST_NICK_NAME," +
                                    "REGION_NOTES) " +
                                "VALUES (" +
                                    "@'LastRegionID'," +
                                    "@Parameter4," +
                                    "@Parameter5," +
                                    "@Parameter6);";

部分 C# 代码...

                    if (sqlSuccess > 0)
                {
                    oDBStatus.LastUpdatedKey =  @LastRegionID ???';
                    oDBStatus.Type = DBOperation.SUCCESS;
                    oDBStatus.Message.Add(DBMessageType.SUCCESSFULLY_DATA_INSERTED);
                }
                else
                {
                    oDBStatus.Type = DBOperation.ERROR;
                    oDBStatus.Message.Add(DBMessageType.ERROR_NO_RECORDS_UPDATED);
                }
                return oDBStatus;

标签: mysqllast-insert-id

解决方案


推荐阅读