1

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

实际上没有错误。它只返回0 Rows Affected

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 个表: release_schedule promo_list

release_schedule promo_id是promo_list 表中的 FK

promo_id 和 promo_list_id 都是 bigint 类型

还尝试了 IN 和其他一些类型的运算符,但没有返回任何内容。

4

2 回答 2

1

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

Update releasing_schedule
Set Status ='Processing'
Where promo_id = (Select promo_list_id From  promo_list Where  promo_code ='ABC'  )
于 2013-08-30T18:00:08.277 回答
0

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

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

于 2013-08-31T07:45:44.870 回答