1

これはテーブルです:

username:     id:

john          1
john          2
john          56
john          75
john          98

ここで、クエリを実行して、これらの行の 1 つをランダムに削除し、残りの 4 つを保持します。「ID」の値は自動インクリメントされているため、わからないと仮定します。

コードは次のとおりです。何を追加すればよいかわからないため、「john」に関連付けられた行の 1 つだけを削除します

$query = ("DELETE FROM table WHERE username='$name' && id=''");

これを変更して、すべてではなく、名前を持つ1行を削除するにはどうすればよいjohnですか?

固定コード

うまくいったシンプルなソリューション。

$query = ("DELETE FROM table WHERE username='$name' LIMIT 1");
4

2 に答える 2

0

私はこれがうまくいくと信じています:

$name = 'john';

$query = ("DELETE FROM table WHERE id = (SELECT id FROM table WHERE username = '$name' ORDER BY RAND() LIMIT 1)");
于 2013-03-18T20:39:29.737 に答える
0

可能かどうかはわかりませんが、おそらく結果を1に制限しますか?

$query = ("DELETE FROM table WHERE username='$name' LIMIT 1");
于 2013-03-18T20:31:53.077 に答える