插入新记录后如何获取主键

时间:2013-05-10 06:49:46

标签: asp.net razor

我正在使用webmatrix设计一个简单的表单。我的表单也使用了jquery ui。在我的一个模态窗口中,我插入了一条新记录。我在Mysql中的表具有自动增量的主键。 发布新记录后,如果成功,我使用下面的代码:

$.getJSON('shared/Partials/NewUser/' + $("#add-opno").val(), function (data) {
                        var newrecip = data;
                        console.log(newrecip.ID);

                    });

当我调试脚本时,注意到控制台值未定义。 以下是NewUser脚本。

@{
Response.Cache.SetCacheability(HttpCacheability.NoCache);
if(UrlData[0].IsInt()){
    var db = Database.Open("sb_cpd");
    var sql = "SELECT ID FROM cpd_recipients WHERE OpNo ='@0'";
    var recipient = db.QuerySingle(sql,UrlData[0]);
    Json.Write(recipient, Response.Output);
 }
}

1 个答案:

答案 0 :(得分:1)

好的如果我理解你是正确的,那么在MySql DB中获取最后一个插入ID的方法(相当于Sql Server中的SCOPE_IDENTITY()就是这样的:

INSERT INTO Table(Column1, Column2)
VALUES (@Column1, @Column1);
SELECT LAST_INSERT_ID();

当然,你的表需要有一个AUTO_INCREMENT列。

否则,您可以在ID列中获得最高值,如下所示:

SELECT MAX(ID) FROM cpd_recipients;

我希望这会有所帮助。