特定のIDと一致する3つの異なるテーブルからすべての行を削除したいと思います。
3つのテーブルはすべて同じID:chat_id
を使用します。PHPとMySQLを使用して3つの異なるテーブルから特定のIDを持つすべての行を削除
どのように3つの異なるテーブルからすべての行を削除しますか?chat_id
= 1234
?
例:
$stmt = $mysqli->prepare('DELETE FROM table1, table2, table3 WHERE chat_id = ?');
私は、これは以下を参照ループ内であることを言及する必要があります。
私の完全なコード:
$stmt = $mysqli->prepare('SELECT chat_id FROM chat_id WHERE chat_expire < NOW()');
$stmt->execute();
$result = $stmt->get_result();
while ($row = $result->fetch_assoc()) {
$chatid[] = $row['chat_id'];
}
$stmt->close();
foreach($chatid as $id) { // Delete all old posts.
$stmt = $mysqli->prepare('DELETE FROM chat_id, chat_msg, chat_nick WHERE chat_id = ?');
$stmt->bind_param('s', $id);
$stmt->execute();
$stmt->close();
}
1つのDELETE文では実行できません。あなたは3つ必要です。これは基本的なSQLであり、PHPとは何の関係もありません。 SQLチュートリアルを見つけたり、書籍を購入することができます。 –
[Mysql - 複数のテーブルから1つのクエリを削除](https://stackoverflow.com/questions/4839905/mysql-delete-from-multiple-tables-with-one-query) –
@KenWhiteできます^ –