我在使用以下查询时遇到问题:
INSERT INTO `pasajeros` ( `nombre`,`apellidos`,`email`,`password`,`telefono`)
VALUES ('Alexandra','Gonzalez','[email protected]','1234567!','04242344556' )
WHERE NOT EXISTS ( SELECT * FROM `transportistas` WHERE `email` = '[email protected]');
我在代码中有什么问题?仅当该其他表中未使用邮件时,我才需要进行插入。我刚刚将语句添加WHERE NOT EXISTS
到一边,但似乎我不符合所需的语法,我该如何改进我的代码?
为了使用
where not exists
,您需要一个select
. 因此,您需要将该子句转换values
为 aselect
:另一种方法,遵循相同的原则,稍微复杂一些,但会阻止您在 2 个地方重复电子邮件的值,即使用派生表:
另一个想法可能是这样的条件:
你也可以这样做
JOIN
:使用电子邮件的值创建一个临时表,并将其与运营商的电子邮件列进行比较,如果它为 NULL,则进行插入,因为该电子邮件在运营商中不存在。
亲爱的,我做了我的研究工作,我找到了一种可以实现目标的方法,我希望它对你有用。干杯