1

次の「論理コード」を実行して実際に機能させる方法はありますか?

$sql=mysql_query("DELETE FROM users WHERE id='3,4,5,9'");

基本的に、表示されているすべての行にチェックマークを付けるチェックボックスをユーザーに提供したいので、ユーザーは削除する行を選択できます。IDが指定されている複数の行を削除したいだけですか?

何か案は?

4

6 に答える 6

13

そのためにIN演算子を使用できます。

DELETE ... WHERE id IN (3,4,5,9)
于 2009-08-26T22:03:40.727 に答える
5

どうですか:

$sql=mysql_query("DELETE FROM users WHERE id IN (3, 4, 5, 9)");

提供された :

  • あなたのIDはDBで数値です
  • ユーザー3を削除し、ユーザー4を削除し、ユーザー5を削除し、ユーザー9を削除します。

そしてもちろん、IDが文字列の場合:

$sql=mysql_query("DELETE FROM users WHERE id IN ('3', '4', '5', '9')");

詳細については、以下を参照してください。

于 2009-08-26T22:04:24.267 に答える
3

WHERE IN句を使用します。

DELETE FROM users WHERE id IN (3, 4, 5, 9);
于 2009-08-26T22:04:37.043 に答える
2

inの代わりに使用できます=

例えば、

DELETE FROM users WHERE id IN (3,4,5,9);
于 2009-08-26T22:04:23.987 に答える
2

使ってみましたかIN

DELETE FROM users WHERE id IN (3,4,5,9)

私のアプリケーションでは何も削除しませんが。代わりに、falseに設定したアクティブフラグがあります。

UPDATE users set active=0 where id in (3,4,5,9)

その場合、すべてのクエリにはwhere句がactive=1あり、1はテーブルのアクティブフラグのデフォルト値です。

于 2009-08-26T22:05:43.190 に答える
2
$sql=mysql_query("DELETE * FROM table WHERE id IN (3,4,5,9)");
于 2009-08-26T22:07:02.483 に答える