SQL Where Not Exists 在 'Where' 子句处抛出错误
SQL Where Not Exists throws an error at 'Where' clause
如果该行尚不存在,我将尝试插入该行。我跟进了不同的教程,这是我目前所拥有的:
INSERT INTO UserTable (id,Email, userid) VALUES
('"2424" + "','" + email + "','" + "4424"')
WHERE NOT EXISTS (Select *
from UserTable
where userid='"4424" + "' AND Email='" + email + "')
如果 table 已经不包含电子邮件变量和用户 ID“4424”,则基本上会尝试插入上述行。这显示了 'WHERE' 子句处的错误。
我做错了什么?
P.S:我应该将它们参数化,但这只是为了澄清查询
那是因为你不能在 INSERT
语句中使用 WHERE
子句。而是使用 INSERT INTO ... SELECT FROM
构造如
INSERT INTO UserTable (id,Email, userid)
SELECT 2424, email, 4424 FROM tbl1
WHERE NOT EXISTS (Select *
from UserTable
where userid='"4424" + "' AND Email='" + email + "');
如果该行尚不存在,我将尝试插入该行。我跟进了不同的教程,这是我目前所拥有的:
INSERT INTO UserTable (id,Email, userid) VALUES
('"2424" + "','" + email + "','" + "4424"')
WHERE NOT EXISTS (Select *
from UserTable
where userid='"4424" + "' AND Email='" + email + "')
如果 table 已经不包含电子邮件变量和用户 ID“4424”,则基本上会尝试插入上述行。这显示了 'WHERE' 子句处的错误。
我做错了什么?
P.S:我应该将它们参数化,但这只是为了澄清查询
那是因为你不能在 INSERT
语句中使用 WHERE
子句。而是使用 INSERT INTO ... SELECT FROM
构造如
INSERT INTO UserTable (id,Email, userid)
SELECT 2424, email, 4424 FROM tbl1
WHERE NOT EXISTS (Select *
from UserTable
where userid='"4424" + "' AND Email='" + email + "');