WordPressで「複数の DELETE を実行する方法」はありますか? イメージしているのは次の流れで、$sql にあるように複数の DELETE を行いたいと考えているのですが…
WordPressで「複数の DELETE を実行する方法」はありますか? イメージしているのは次の流れで、$sql にあるように複数の DELETE を行いたいと考えているのですが… ──────────────── $content_id = filter_input(INPUT_POST, 'content_id', FILTER_VALIDATE_INT); $sql = " DELETE FROM wp_relation_1 WHERE content_ID = %d; DELETE FROM wp_relation_2 WHERE content_ID = %d; DELETE FROM wp_contents WHERE ID = %d; "; $prepares = [ $content_id, $content_id, $content_id ]; $rows = $wpdb->get_results( $wpdb->prepare( $sql, ...$prepares ), ARRAY_A ); ──────────────── しかし、上記を実行致しますと次のエラーとなります。 ──────────────── "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' DELETE FROM wp_relation_2 WHERE content_ID = 103409; DELETE FROM wp_con' at line 2" ──────────────── エラーには3つのうち1つ目の「wp_relation_1」への DELETE が書かれていないため、恐らく「複数あるとできない」ということかと推察致しまして、冒頭の「複数の DELETE を実行する方法」という質問になりました。(もしかしたらこの推察が間違っているかもしれませんが…) よろしくお願いいたします。
ベストアンサー
#横からすみません(汗 $wpdb->query がダメなら非対応だろうねぇ・・・。対応する(複数ステートメントを有効にする)必要性を感じなかったんだろうね。 個別・一括で大差あるわけじゃないし、ひとつひとつ書く方が余計なミスもしにくいしね。
質問者からのお礼コメント
agunuz_tmpさん、shimixさん、ご回答ありがとうございます。WordPressではできないことだと知れただけで良かったです。
お礼日時:5/8 17:26