0

シンプルなフォームをデザインするために webmatrix を使用しています。私のフォームも jquery ui を多用しています。モーダル ウィンドウの 1 つで、新しいレコードを挿入します。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);
 }
}
4

1 に答える 1

1

OK、あなたが正しいことを理解していれば、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;

これが役立つことを願っています。

于 2013-05-10T07:55:05.700 に答える