程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> 關於MYSQL數據庫 >> 有關mysql中ROW_COUNT()的小例子

有關mysql中ROW_COUNT()的小例子

編輯:關於MYSQL數據庫

注:mysql中的ROW_COUNT()可以返回前一個SQL進行UPDATE,DELETE,INSERT操作所影響的行數。

MySQL上的測試(數據庫版本為:5.1.22):

1.創建數據庫表:
復制代碼 代碼如下:
create table t( 
id int, 
name varchar(50), 
address varchar(100), 
primary key(id,name) 
)engine =InnoDB;

2.插入測試數據:
復制代碼 代碼如下:
insert into t 
(id,name,address)  
values 
(1,'yubowei','weifang'), 
(2,'sam','qingdao');

3.更新:
復制代碼 代碼如下:
update t set address = 'weifang' 
where id = 1 and name = 'yubowei';

此時查看影響的行數:
select row_count(); ==〉執行結果為0;

4.再更新:
復制代碼 代碼如下:
update t set address = 'beijing' 
where id = 1 and name = 'yubowei';

此時查看影響的行數:
select row_count(); ==〉執行結果為1;
從上面的測試可以得出在MySQL中只有真正對記錄進行修改了的情況下,row_count才會去記錄影響的行數,否則如果記錄存在但是沒有實際修改則不會將該次更新記錄到row_count中。

備注:
今天用PREPARE動態處理了UPDATE語句後,發現ROW_COUNT()函數返回的老是-1 ,檢查了下原來是把row_count()放到了deallocate 語句後面了。
神一般的我,犯了這樣的錯,哈。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved