Sql 如果列值等于用户输入,则插入数据

Sql 如果列值等于用户输入,则插入数据,sql,Sql,如何执行if语句来检查列值是否等于用户输入的输入值 我有一个名为Tasks的表和一个名为TaskID的主键。如果我试图将用户输入的id与TaskID列进行比较,“if”条件会是什么样子 基本上,我正在尝试(TaskID=599)是否插入值 到目前为止,我已经尝试过: if ((select TaskID from MyDB.dbo.Tasks where TaskID=599) = 599) begin insert into MyDB.dbo.Tasks (Concluded) Values

如何执行if语句来检查列值是否等于用户输入的输入值

我有一个名为Tasks的表和一个名为TaskID的主键。如果我试图将用户输入的id与TaskID列进行比较,“if”条件会是什么样子

基本上,我正在尝试(TaskID=599)是否插入值

到目前为止,我已经尝试过:

if ((select TaskID from MyDB.dbo.Tasks where TaskID=599) = 599)
begin
insert into MyDB.dbo.Tasks (Concluded)
Values (1)
end

然而,我不认为它有我想要的结果。它会不断地创建一个新任务来代替它。

如果您只想检查taskID是否已经存在,那么就使用它-

IF EXISTS (SELECT 'x' FROM task WHERE taskid=599)
    UPDATE Table1 SET (...) WHERE Column1='SomeValue'
ELSE
    INSERT INTO Table1 VALUES (...)
试试这个

IF EXISTS (SELECT 1 FROM task WHERE taskid=599)
    UPDATE MyDB.dbo.Tasks SET concluded = 1 WHERE taskid=599
ELSE
    INSERT INTO MyDB.dbo.Tasks (concluded) VALUES (1)

在插入之前是否要检查该值是否存在?我想看看哪个RDBMSI的“TaskID”是599,如果是,那么在“结束”字段中插入“1”我想你需要
update
而不是
insert