SQL不存在会在' Where'条款

时间:2015-10-12 09:43:14

标签: c# sql sql-insert not-exists

如果该行尚不存在,我试图插入一行。我已经跟进了不同的教程,这是我到目前为止所做的:

INSERT INTO UserTable (id,Email, userid) VALUES 
('"2424" + "','" + email + "','" + "4424"') 
WHERE NOT EXISTS (Select * 
                  from UserTable 
                  where userid='"4424" + "' AND Email='" + email + "')

如果表格已经不包含电子邮件变量和用户ID" 4424",则基本上尝试插入上述行。这显示了' WHERE'条款。

我做错了什么?

P.S:我应该对它们进行参数化,但这只是为了澄清查询

1 个答案:

答案 0 :(得分:4)

那是因为你不能在WHERE语句中使用INSERT子句。而是使用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 + "');