2017-06-29 7 views
-2

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(); 
} 
+3

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. –

+1

[Mysql - Löschen von mehreren Tabellen mit einer Abfrage] (https://stackoverflow.com/questions/4839905/mysql-delete-from-multiple-tables-with-one-query) –

+0

@KenWhite Es kann getan werden^ –

Antwort

1

die gleiche Abfrage dreimal Schreiben durch die Tabellennamen zu ändern, immer in der gleichen Funktion.

+0

Wenn Sie noch Fragen haben frage auch :) – Takabrycheri

Verwandte Themen