简单的SQL语句错误

时间:2019-07-17 08:39:21

标签: sql database

仅当两个条件不正确时,我才想插入我的值。

Insert INTO ArtikelNr VALUE (…)


WHERE "3434" NOT IN  (Select AriktelNr From Artikel) AND

isa_id = "3847"

此代码有什么问题?

3 个答案:

答案 0 :(得分:1)

INSERT ... WHERE ...无效的SQL。

WHERE仅与SELECT一起使用。

答案 1 :(得分:0)

如果要验证一条记录的两个值:

if not exists (select 1 from Artikel where AriktelNr='3434' and isa_id='3847')
begin
insert into Artikel (<columns>) values (<values>)
end

如果您要验证不同记录上的两个值:

if not exists (select 1 from Artikel where AriktelNr='3434')
begin
    if not exists (select 1 from Artikel where isa_id='3847')
    begin
    insert into Artikel (<columns>) values (<values>)
    end
end

答案 2 :(得分:0)

您可以尝试转换插入语句的“值”部分,

使用“插入选择”格式应该可以。

示例:

drop table if exists test;
create table test (x int);
insert into test (x) values (1),(2),(3);

insert into test (x) 
select 2
where 2 not in (select x from test)
;