0

ここに少し状況があります。以下のデータがある場合、「セッション」テーブルのデータベースにある場合:

SessionId

C

次に、私のコードで何が起こるかというと、ユーザーが新しい文字列を生成したときに、それがすでにデータベースにあるため、上記の文字列が表示されないということです。これは、たとえば上記で正常に機能します

私が抱えている問題は、複数のセッション(試験)がある場合、下のデータベースに次のような文字列がデータベースに表示されることです。

SessionId

C1
C2
C3

上記は3つの試験です。ただし、問題は、文字列「ADERF」が以下のコードで生成される可能性があることです。上記の表のように文字列の最後に数字がある場合、データベースに残っているので文字列を生成できないのはどうしてですか?文字列は常に5文字の長さになります。

4

2 に答える 2

1

各セッション/試験に独自のIDを与えることを検討している場合(およびそれらが衝突するときの頭痛の種について心配する必要はありません)、GUIDを使用してみてください。衝突の可能性はほとんどありません。

于 2012-11-01T00:48:49.840 に答える
0

クエリを次のように変更します。

$result = "SELECT SessionId FROM Session WHERE SessionId LIKE CONCAT(?, '%')";
于 2012-11-01T01:04:28.083 に答える