要在条件上插入的SQL查询

时间:2013-06-25 09:32:03

标签: sql sql-server

我有一个表格A,其中列id以及此id中的属性:1 to 20 or any others。我希望SQL查询的方式是Query将在列中搜索特定的id,然后执行一些操作,否则插入一个具有该(11)值的新行。

简而言之

Search 11 in id if found then update 11 to 12 otherwise insert 11 into id

4 个答案:

答案 0 :(得分:3)

使用If...Else

IF EXISTS (SELECT * FROM TABLE_NAME WHERE id=11)
 BEGIN
     UPDATE TABLE_NAME SET ..set column with values
 END
ELSE
 BEGIN
      INSERT INTO TABLE_NAME VALUES (values....);
 END

答案 1 :(得分:2)

if not exists(select id from some table Where id = @someid)
begin
  insert sometable(id) Values (@id)
end
else
begin
 /* do something else */
end

保持简单......

答案 2 :(得分:0)

我不确定您的请求是否有查询,但我认为您可以通过使用php,asp等条件订单单独执行.PHP示例在这里:

<?php
$number = 11 ;
$query = mysql_query("select * from `table` where `id` = '".$number."'");
if ( mysql_num_rows($query) >= 1 )
   {
   echo 'Existed !';
   }
else
   {
   echo 'Not existed , making :';
   $query = mysql_query('insert into `table` values ( "11", ... )');
   }
?>

答案 3 :(得分:0)

试试这个

if not exists(select top 1 id from some table Where id = @someid)
begin
  insert sometable(id) Values (@id)
end
else
begin
 -- do something
end