Ich möchte alle Zeilen aus drei verschiedenen Tabellen, die eine bestimmte ID entspricht.
Alle drei Tabellen verwenden die gleiche ID: chat_id
.Löschen Sie alle Zeilen mit einer bestimmten ID aus 3 verschiedenen Tabellen mit PHP und MySQL
Wie lösche ich alle Zeilen aus drei verschiedenen Tabellen WHERE chat_id
= 1234
?
Beispiel:
$stmt = $mysqli->prepare('DELETE FROM table1, table2, table3 WHERE chat_id = ?');
Ich sollte erwähnen, dass dies in einer Schleife ist unten.
Mein vollständiger Code:
$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();
}
Sie können es nicht in einer einzelnen DELETE-Anweisung tun. Du wirst drei brauchen. Dies ist grundlegendes SQL und hat nichts mit PHP zu tun. Vielleicht möchten Sie ein SQL-Tutorial finden oder ein Buch kaufen. –
[Mysql - Löschen von mehreren Tabellen mit einer Abfrage] (https://stackoverflow.com/questions/4839905/mysql-delete-from-multiple-tables-with-one-query) –
@KenWhite Es kann getan werden^ –