2017-06-13 1 views
0

が私のコードです:オブジェクトのIDをDBで次に使用できる行に設定しますか?ここで

("document").ready(function() { 

    $('.register').click(function() { 
     var user_name = $("#username").val(); 
     $.getJSON("/api/Users/GetByUserName/" + user_name) 
      .done(function() { 
       alert("user name already exist!"); 
      }) 
      .fail(function() { 
       var usersUri = "/api/Users"; 
       self.addUser = function() { 
        var user = { 
         Id : ---------??? 
         UserName: $("#username").val(), 
         Email: $("#email").val(), 
         Password: $("#password").val(), 
         Wins: 0 
         loses: 0 
        }; 
        $.post(usersUri, user).done(function (item) { 
         self.books.push(item); 
        }); 
       } 

      }); 
    }); 
}); 

私は、次のフィールドとDbのを持っている: "ID、ユーザ名、電子メール、パスワード、勝利は、失います"。 今度は、新しいユーザーのIDを次の使用可能な行の番号にします。 何が最善の方法ですか? ありがとう!

+0

DBに次の使用可能な行IDを挿入する必要があるのはなぜですか?一意の主キーとしてIDを設定するだけで、DBは自動的にインクリメントの方法で挿入します –

答えて

1

通常、クライアントのアプリケーションからサーバーのIDを割り当てません。

あなたのPOST APIコードでは、あなたが望むIDのタイプを決めることができます。これは、データベースに応じて自動インクリメントやGUIDなどのフォーマットにすることができます。

あなたが利用可能な次の整数をしたい場合は、まずあなたがテーブルのユーザに自動インクリメントあなたのイドを作る:あなたはあなたがいないORMまたはSQLコマンドを使用している場合、それは問題ではありませんその後https://dba.stackexchange.com/questions/128433/add-autoincrement-to-existing-pk

を新しいレコードを作成するときにIdを指定する必要があります。

1

クライアント側にIdを割り当てるのは良い設計ではありません。クライアントはIDを気にしてはいけません。サーバーは最初に利用可能なレコードID(ID主キーを持つDB内で自動的に行うことができます)を割り当て、必要に応じて、このIDを既に挿入されたオブジェクトと共にクライアントに送り返すことができます。

関連する問題