mysql - 无法更新表

标签 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;

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

但是,就在我将它放在 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/

相关文章:

sql - 如何在sql server中创建依赖于其他列的默认约束

mysql - 多个左连接

c# - 构建我的类(class)的正确方法

mysql - 每 1 小时自动通过 SSH 隧道对远程 mysql 服务器运行一次 select 语句

sql - 如何在 SQL 中将两个类别分组为一个组

html - 是否可以更改 SSRS 中 Web 服务界面的外观?

sql-server - tSQLt:在 SetUp 和测试之间共享数据

sql-server - 由于公共(public) token 不匹配,从源运行 tSQLt 项目失败

java - MySQL插入需要的数据然后将其发送到 Crystal 报表

mysql - 如何根据当前月份和年份创建mysql表名