用什么语句可以获知数据库数据的更新?

liuxingyu0502 2012-02-20 11:01:26
在mysql下获取数据,想用标志位的方法,用一个函数获取数据库的最新信息,当有更新时,读取数据。
应该用什么语句来获知啊。
mysql_affected_rows()语句可以吗,返回最新的UPDATE, DELETE或INSERT查询影响的行数。
不会用纠结,求前辈们指导!
...全文
177 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
wwwwb 2012-02-20
  • 打赏
  • 举报
回复
update ...;
select ROW_COUNT();
liuxingyu0502 2012-02-20
  • 打赏
  • 举报
回复
row_count()的用法呢,我google了一下的具体的用法讲解的不太清楚。返回数据库行的更新。
liuxingyu0502 2012-02-20
  • 打赏
  • 举报
回复
楼上给力,谢谢
wwwwb 2012-02-20
  • 打赏
  • 举报
回复
ROW_COUNT() 可以得到
liuxingyu0502 2012-02-20
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 acmain_chm 的回复:]
引用 9 楼 wolfwu_kg5 的回复:

用MySQL Administrator在MySQL查询浏览器里ROW_COUNT()一直显示-1
在命令行客户端就显示正常
不知道什么原因
你使用了不同的SESSION。
[/Quote]

怎么才算同一个senssion,打开一个database吗?但是每次都是单独打开database的啊,不知怎么办,求助
liuxingyu0502 2012-02-20
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 wolfwu_kg5 的回复:]

使用mysql_affected_rows()来获取
//测试代码
strcpy_s(query,100,"update test2 set test=88 where test = 65");
result= mysql_quer……
[/Quote]


strcpy_s这个函数是什么,和strcpy功能一样?
wolfwu_kg5 2012-02-20
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 liuxingyu0502 的回复:]
我想知道怎么获取row_count的值,我用mysql_real_query都不能正常获取他的结果
[/Quote]
使用mysql_affected_rows()来获取
//测试代码
strcpy_s(query,100,"update test2 set test=88 where test = 65");
result= mysql_query(conn_ptr,query);
if (result == 0)
printf ("Row affected number are %d\n",mysql_affected_rows(conn_ptr));
mysql_close(conn_ptr);
liuxingyu0502 2012-02-20
  • 打赏
  • 举报
回复
我想知道怎么获取row_count的值,我用mysql_real_query都不能正常获取他的结果
ACMAIN_CHM 2012-02-20
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 wolfwu_kg5 的回复:]

用MySQL Administrator在MySQL查询浏览器里ROW_COUNT()一直显示-1
在命令行客户端就显示正常
不知道什么原因
[/Quote]你使用了不同的SESSION。
wolfwu_kg5 2012-02-20
  • 打赏
  • 举报
回复
用MySQL Administrator在MySQL查询浏览器里ROW_COUNT()一直显示-1
在命令行客户端就显示正常
不知道什么原因
wolfwu_kg5 2012-02-20
  • 打赏
  • 举报
回复
貌似ROW_COUNT()在mysql Administrator里面查询出错,一直显示-1, 但是在命令行客户端就显示正常
liuxingyu0502 2012-02-20
  • 打赏
  • 举报
回复
我这个query = "select row_count";
mysql_real_query(mysql,"query",strlen(query));
获取返回的值怎么不对啊,应该用什么函数啊?
ACMAIN_CHM 2012-02-20
  • 打赏
  • 举报
回复
MySQL官方文档 http://dev.mysql.com/doc/refman/5.1/zh/index.html
[Quote]ROW_COUNT()
ROW_COUNT()返回被前面语句升级的、插入的或删除的行数。 这个行数和 mysql 客户端显示的行数及 mysql_affected_rows() C API 函数返回的值相同。

mysql> INSERT INTO t VALUES(1),(2),(3);

问询完成, 表中有3 行 (0.00秒)

记录: 3 重复: 0 警告: 0



mysql> SELECT ROW_COUNT();

+-------------+

| ROW_COUNT() |

+-------------+

| 3 |

+-------------+

表中有1行 (0.00 秒)



mysql> DELETE FROM t WHERE i IN(1,2);

问询完成, 找到2 行 (0.00 秒)



mysql> SELECT ROW_COUNT();

+-------------+

| ROW_COUNT() |

+-------------+

| 2 |

+-------------+

表中有1行 (0.00 秒)

[/Quote]

ACMAIN_CHM 2012-02-20
  • 打赏
  • 举报
回复
[Quote]ROW_COUNT()

ROW_COUNT() returns the number of rows updated, inserted, or deleted by the preceding statement. This is the same as the row count that the mysql client displays and the value from the mysql_affected_rows() C API function.

mysql> INSERT INTO t VALUES(1),(2),(3);
Query OK, 3 rows affected (0.00 sec)
Records: 3 Duplicates: 0 Warnings: 0

mysql> SELECT ROW_COUNT();
+-------------+
| ROW_COUNT() |
+-------------+
| 3 |
+-------------+
1 row in set (0.00 sec)

mysql> DELETE FROM t WHERE i IN(1,2);
Query OK, 2 rows affected (0.00 sec)

mysql> SELECT ROW_COUNT();
+-------------+
| ROW_COUNT() |
+-------------+
| 2 |
+-------------+
1 row in set (0.00 sec)

[/Quote]

可以参考MYSQL官方免费手册中的说明和例子。


56,679

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧