0

ID フィールドが以前の最大 ID よりも 1 つ多いように、テーブルにデータを挿入しようとしています。たとえば、21 人のユーザーが登録されていて、別のユーザーが追加された場合、そのユーザーの ID は 21 になります (私の ID は 0 から始まることに注意してください)。私はこれを試しました:

mysqli_query($con,"INSERT INTO logins (ID,UserName)
                VALUES ((SELECT COUNT(ID) FROM logins),'$username')");

これはエラー メッセージです: #1093 - FROM 句での更新にターゲット テーブル 'logins' を指定できません

私もこれを試しました:

$result=mysqli_query($con,"SELECT ID FROM logins WHERE ID=(SELECT MAX(ID) FROM logins)");
    while ($db_field = mysqli_fetch_assoc($result)) 
    {
        $id=$db_field['ID']+1;
        mysqli_query($con,"INSERT INTO logins (ID, UserName)
              VALUES ('$id','$username'");
        break;
    }

しかし、これを 1 つのコマンドで行う方法を探しています。前もって感謝します。

4

1 に答える 1

3

idテーブルの主キーを作成し、 AUTO_INCREMENTを有効にすることをお勧めします。その後id、クエリから列を削除すると、増加する ID が自動的に追加されます。

于 2013-10-06T16:24:25.860 に答える