アプリ版:「スタンプのみでお礼する」機能のリリースについて

php、mysqlを勉強しております。

phpを使って、mysqlの複数レコードをまとめて削除する方法を探しています。

※テーブル名[sample]
ID NAME
1  ABC
2  BCD
3  CDE
4  DEF
5  EFG

このようなテーブルがあるとして、IDの2、3、5を削除したいと考えています。
その場合、下記のように3回、クエリを実行しなければいけないのでしょうか。

DELETE FROM sample WHERE ID = 2
DELETE FROM sample WHERE ID = 3
DELETE FROM sample WHERE ID = 5

詳しい方がいらっしゃいましたら、ご教授いただけないでしょうか。
よろしくお願い致します。

A 回答 (2件)

DELETE FROM sample WHERE ID IN ( 2,3,5)

    • good
    • 5

削除する対象や件数が都度変わる用途ならば、3回クエリを実行するのが望ましいと思います。



$targets = array(2,3,5);

$stmt = $mysqli->prepare("DELETE FROM sample WHERE ID = ?");
$stmt->bind_param('i', $id);
foreach ($targets as $id) {
_ $stmt->execute();
}
$stmt->close();
    • good
    • 2

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!