所以现在我有一个简单的 SQL 存储过程,我可以调用它来更新数据库中的一个表。在存储过程中,我有一个 If 条件语句:
IF 1 > 0 THEN
UPDATE TABLE_A
SET COLUMN_1 =299999
WHERE COLUMN_2 ='2014-01-03' and COLUMN_3=0;
我很确定更新子句没有问题,因为当我单独运行它时,它会很好地更新表。我可以在表中看到正在更新的值。
但是,就在我将它放在 IF
语句之后(如上面的代码)时,更新失败(没有返回任何受影响的行)。
我很确定 IF 语句也是正确的(现在我把它设置为 1>0 只是为了测试)。
如果我在 IF 之后放置一个插入语句,它也能正常工作。正在向表中插入一个新行。这太奇怪了。有什么帮助吗?
最佳答案
如果是 T-SQL 尝试使用 BEGIN
语句而不是 then
IF 1 > 0
BEGIN
UPDATE TABLE_A
SET COLUMN_1 =299999
WHERE COLUMN_2 ='2014-01-03' and COLUMN_3=0
END
关于mysql - 无法更新表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14390320/