可以看看在这个sql下面将使用explain解释多少条记录:
explain select * from products
但是expain不适用于更新和删除命令
在php中,我想用sql更新一个表,我想检查天气这个sql只会更新行或多行,如果有很多行受到影响,这个sql不允许运行以防止表格误操作。
那么在执行之前我怎么知道这个更新sql会影响多少行呢?
update products set products_model = 'hello' where products_id = '1'
答案 0 :(得分:1)
你可以事先做select
:
select count(*)
from products
where products_id = '1'
答案 1 :(得分:1)
我认为您应该先执行SELECT COUNT(*) from products WHERE products_id = '1'
并观看计数
如果是== 1则更新
答案 2 :(得分:1)
使用
运行查询SELECT COUNT(id) AS will_affect_rows_count FROM products WHERE products_id = '1'
这将为您提供受UPDATE查询影响的行数。
我可能会问为什么你可以在这个表中有重复的products_id的产品?
答案 3 :(得分:1)
如果你有一个独特的行索引'id',你可以做
SELECT id FROM yourtable WHERE updateCondition;
然后使用
进行更新UPDATE yourtable SET foo=bar WHERE updateCondition AND id in (<ids returned by first query here>);