ich einige Zeilen (Benutzer) aus einer Tabelle zu löschen mithilfe der folgenden AbfrageZeilen löschen aus der zweiten Tabelle, wenn der entsprechende Benutzer aus der ersten Tabelle gelöscht
DELETE
FROM
rfs_users
WHERE
ID > 1 AND user_registered < '2017-05-16 12:09:54' AND user_login NOT IN ('username1', 'username2')
ich einen anderen Tisch haben und ich brauche auch um einige Zeilen daraus zu löschen. Diese Tabelle (rfs_usermeta
) hat eine andere Struktur und ich kann dieselbe Abfrage nicht verwenden.
In rfs_users
entspricht eine Zeile einem Benutzer. In rfs_usermeta
entspricht mehrere Zeilen einem Benutzer. Ich könnte einfach verwenden
aber das würde fast alle Zeilen löschen. Ich muss einen Benutzer in rfs_usermeta
löschen, wenn dieser Benutzer auch in rfs_users
gelöscht werden soll.
Zum Beispiel:
// loop rows in rfs_users
for (row in rfs_users) {
// target specific rows
if (row.user_id > 1 && row.user_registered < '2017-05-16 12:09:54' && !('username1', 'username2').includes(row.user_login)) {
// delete matching row
row.remove()
// also delete rows from rfs_usermeta
rfs_usermeta.getRows(row.user_id).remove()
}
}
Wie kann ich diese Abfrage bilden?
Dies hat den Trick gemacht. Allerdings musste ich nachsehen, weil ich SQL nicht wirklich beherrsche. [Fremdschlüssel Einschränkung] (https://www.w3schools.com/sql/sql_foreignkey.asp) half mir, es zu verstehen. – akinuri