こんにちは、MS MySql Database 2012 テーブルへのデータの更新に関する簡単な質問があります。私が持っているテーブルは COMPLETED と呼ばれ、3 つのフィールドがあります。student_ID (int、null は許可されません) completed (bool、null は許可されません) random_code (文字列、null は許可されます)
C# には、一意のランダム コードで満たされたリストがあります。すべてのコードをデータベースに更新したいので、20 個のレコードがある場合、20 個の一意のコードを random_code フィールドに更新したいと考えています。したがって、最初のレコードは最初のコードを取得し、秒のレコードは 2 番目のコードを取得するというようになります。これを行う最善の方法は、foreach を使用し、コードのリスト内のコードごとに、そのコードをデータベースの random_code フィールドに更新することだと思います。
foreach (string unRaCo in codes)
{
//insert database
SqlCommand toDB = new SqlCommand("UPDATE COMPLETED SET random_code = '"+ unRaCo +"' ", conn);
SqlDataReader toDBR;
toDBR = toDB.ExecuteReader();
toDBR.Close();
}
私が抱えている問題は、更新クエリがすべてのレコードを最初のコードで更新するため、たとえば最初のレコードにはコード 12345 がありますが、他のすべてのレコードにもそのコードがあることです。12345 をレコード 1 に更新し、54321 をたとえば番号 2 に更新したいのですが、どうすればよいですか?