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 + "');