То, чего я пытаюсь добиться - это вставить значения в таблицу, если это значение не существует в 2 дополнительных таблицах.
INSERT INTO visitor(
visitor_username,
email,
PASSWORD
)
SELECT * FROM
(
SELECT
'admin2000',
'adminemail@mail.com',
'123456'
) AS tmp
WHERE NOT EXISTS
(
SELECT
admin.admin_username,
admin.email
FROM
admin AS admin
WHERE
admin.admin_username = 'admin2000' AND admin.email =
'adminemail@mail.com'
UNION
SELECT
staff.staff_username,
staff.email
FROM
staff AS staff
WHERE
staff.staff_username = 'admin2000' AND staff.email =
'adminemail@mail.com'
)
LIMIT 1
В части ГДЕ НЕ СУЩЕСТВУЕТ, когда я только запрашиваю * _username (пример: admin_username или staff_username), она работает хорошо, но когда мне нужно проверить, существует ли электронная почта, она не работает должным образом.
Использую ли я, ГДЕ НЕ СУЩЕСТВУЕТ должным образом? если в таблице «admin» существует имя пользователя «admin2000» и адрес электронной почты «adminemail@mail.com», и я пытаюсь вставить его в таблицу «посетитель», он вставляет его, и этого делать не следует.