2009-08-26 4 views
1

実際に動作させるために次の '論理コード'を実行する方法はありますか?私は基本的に私のユーザーに表示されているすべての行のダニにするチェックボックスを与えたいwhere句に複数の項目を指定する

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

、彼らはその後、削除するものを選ぶことができます。私はちょうどIDが指定された複数の行を削除したいですか?

アイデア?

答えて

5

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

が提供:

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

そして、あなたのIDが文字列である場合はもちろん、:より多くの情報については

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

、以下を参照してください

+0

'IN()'の引数は数値である必要はありません。彼らは価値があるだけです。 –

+1

@Bill:数字の場合は引用符を使用しないでください。必要がないので引用符を使用しないでください。私の記事を編集して、IDが文字列であると考えて同じ例を追加しました。 ) –

+0

はい、ありがとうございました。私はすでにあなたに+1を与えていました。 –

13

これにはIN演算子を使用できます。

DELETE ... WHERE id IN (3,4,5,9) 
2

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

例えば、何について

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

WHERE IN節を使用してください。

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

は私のアプリケーションでは、私は何も削除しませんが、あなたはIN

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

を使用しようとしています。代わりに、私は偽に設定したアクティブフラグを持っています。

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

すべてのクエリは、次に、active=1と1 where句は、テーブル内のアクティブフラグのデフォルト値であるています。

2
$sql=mysql_query("DELETE * FROM table WHERE id IN (3,4,5,9)"); 
関連する問題