使用具有相同参数的select或update时受影响的行数不同 – Postgr
发布时间:2020-12-13 15:58:28 所属栏目:百科 来源:网络整理
导读:我有两个带有相同Join和Where子句的SQL语句,但我有一个问题,就是select语句给了我不同数量的行(在我的情况下是42)因为update语句会改变(在我的情况下是80,就是所有行的表). 这是第一个(我用它来检查将受影响的行数): SELECT COUNT(*) FROM classes AS c INN
我有两个带有相同Join和Where子句的SQL语句,但我有一个问题,就是select语句给了我不同数量的行(在我的情况下是42)因为update语句会改变(在我的情况下是80,就是所有行的表).
这是第一个(我用它来检查将受影响的行数): SELECT COUNT(*) FROM classes AS c INNER JOIN programs AS p ON c.Pr_ID = p.Pr_ID AND p.Ma_ID = 8; --> returns: 32 这里是第二个(这使得工作,它将更新表类的一个字段): UPDATE classes SET Cl_Status = 3 FROM classes AS c INNER JOIN programs AS p ON c.Pr_ID = p.Pr_ID AND p.Ma_ID = 8; --> returns: 80 (!) 第一个和第二个语句之间的区别只是第一行,其他一切都是相同的. 有谁知道在两个语句中获得相同行数的变化是什么? 解决方法
你想要的是什么
UPDATE classes SET CL_Status = 3 FROM programs WHERE classes.Pr_ID = programs.Pr_ID AND programs.Ma_ID = 8 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |