から削除された場合、私は次のクエリ削除行の対応するユーザが最初にテーブル
DELETE
FROM
rfs_users
WHERE
ID > 1 AND user_registered < '2017-05-16 12:09:54' AND user_login NOT IN ('username1', 'username2')
を使用して、テーブルから一部の行(ユーザー)を削除しています、私は別のテーブルを持っているし、私も必要そこからいくつかの行を削除します。このテーブル(rfs_usermeta
)は構造が異なり、同じクエリを使用することはできません。
rfs_users
では、1つの行が1人のユーザーに対応します。 rfs_usermeta
では、複数の行が1人のユーザーに対応します。私はちょうど使用することができる
DELETE FROM rfs_usermeta WHERE user_id > 1
しかし、それはほとんどすべての行を削除します。そのユーザーがrfs_users
でも削除される場合は、rfs_usermeta
のユーザーを削除する必要があります。例えば
:
// 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()
}
}
どのように私はこのクエリを形成していますか?
これはトリックでした。しかし、私はSQLに精通していないので、私はそれを調べなければなりませんでした。 [FOREIGN KEY Constraint](https://www.w3schools.com/sql/sql_foreignkey.asp)は私の理解を助けました。 – akinuri