无法更新表格

时间:2013-01-17 23:57:24

标签: mysql sql tsqlt

所以现在我有一个简单的SQL存储过程,我可以调用它来更新数据库中的一个表。在商店程序中,我有一个If条件语句:

IF 1 > 0 THEN   
         UPDATE TABLE_A 
         SET COLUMN_1 =299999 
         WHERE COLUMN_2 ='2014-01-03'  and COLUMN_3=0;

我非常确定update子句没有问题,因为当我单独运行它时,它会更新表格。我可以在表中看到更新的值。

但是,当我把它放在IF语句之后(就像上面的代码一样)时,更新失败了(返回我没有受影响的行)。

我非常确定IF语句也是正确的(现在我把它作为1> 0只用于测试)。

如果我在IF之后放置一个insert语句,它也能正常工作。正在向表中插入一个新行。这太奇怪了。有什么帮助吗?

2 个答案:

答案 0 :(得分:3)

如果是T-SQL,请尝试使用BEGIN语句而不是

IF 1 > 0
BEGIN
UPDATE TABLE_A 
SET COLUMN_1 =299999 
WHERE COLUMN_2 ='2014-01-03'  and COLUMN_3=0
END

答案 1 :(得分:0)

试试这个

     UPDATE TABLE_A 
     SET COLUMN_1 =299999 
     WHERE COLUMN_2 ='2014-01-03'  
     AND COLUMN_3=0
     AND 1 > 0 ;              <------- put it in where clause