私は2つのテーブルを持っています:
USER
MAILING
MAILING
テーブルには 1 つの列がありますemail
。
USER
テーブルには がたくさんusers
ありemail
ます。
今、私はこのようなものを削除したい:
DELETE email FROM mailing WHERE users.email = mailings.email
したがって、この電子メールがユーザーテーブルに存在する場合、テーブルメーリングから電子メールを削除する必要があります。
私は2つのテーブルを持っています:
USER
MAILING
MAILING
テーブルには 1 つの列がありますemail
。
USER
テーブルには がたくさんusers
ありemail
ます。
今、私はこのようなものを削除したい:
DELETE email FROM mailing WHERE users.email = mailings.email
したがって、この電子メールがユーザーテーブルに存在する場合、テーブルメーリングから電子メールを削除する必要があります。
これを使用できます
DELETE FROM mailing WHERE email IN (SELECT email FROM users)
またはこれを使用してJOIN
DELETE M
FROM mailing M
JOIN users U
ON M.email = U.email
列を更新したい場合はしupdate
ないでくださいdelete
UPDATE mailing
inner join users on users.email = mailings.email
set email=null
または、レコードを削除したい場合は、次のようにしてください:
DELETE m
FROM mailing m
inner join users u on u.email=m.email
EXISTS
次のようにMySQLの句を使用できます-
delete from mailing where exists(select * from user where user.email=mailing.email);
メーリング テーブルからすべての行を削除したいと考えており、メーリング テーブルには 1 つの列しかありません。
Delete
from mailing where mailing.email
exists (select email from users where users.email = mailing.email);