应用于UPDATE语句时,Mysql查询返回“0行受影响”

时间:2013-08-30 17:43:23

标签: mysql subquery

我只是不明白为什么我的更新声明不起作用。

实际上没有错误。它只返回 0行受影响

Update releasing_schedule
Set Status ='Processing' Where promo_id =  (Select promo_list_id From  promo_list Where  promo_code ='ABC'  )

子查询本身返回1行(list_id = 5 )但在应用于UPDATE语句时返回0受影响。

2桌: releases_schedule promo_list

  

releases_schedule promo_id 是promo_list表中的FK

promo_id和promo_list_id都是bigint类型

还试过IN和其他类型的运算符,但什么也没有返回。

2 个答案:

答案 0 :(得分:1)

三件事之一。子查询不返回任何行(您可以排除)。或者,promo_id表中没有匹配的release_schedule。或者status的值已经是'Processing'。我假设该值已经是您想要设置的值。

Update releasing_schedule
Set Status ='Processing'
Where promo_id = (Select promo_list_id From  promo_list Where  promo_code ='ABC'  )

答案 1 :(得分:0)

我真的很抱歉。我想念子查询字段:promo_list_id。它应该只是list_id

怪异发生了。它没有抛出任何错误(未知字段)或类似的东西..