我做了一个INSERT 或者 SELECT 操作。。请问如何返回刚才这个操作影响的记录数目比如我插入2条数据 有没全局变量或者函数返回这个 2 mssql有 @@rowcount这样的全局变量表示 
mysql呢?我找了下没找到

解决方案 »

  1.   

    使用row_count()函数。mysql> insert into t values(2), (3);
    Query OK, 2 rows affected (0.01 sec)
    Records: 2  Duplicates: 0  Warnings: 0mysql> select row_count();
    +-------------+
    | row_count() |
    +-------------+
    |           2 |
    +-------------+
    1 row in set (0.00 sec)
      

  2.   

    mysql>  select * from test;
    +--------------------------------------+----------+--------------------------------------+
    | id                                   | name     | parentid                             |
    +--------------------------------------+----------+--------------------------------------+
    | 13ed38f1-3c24-dd81-492f-673686dff0f3 | 大学教师 | 37e2ea0a-1c31-3412-455a-5e60b8395f7d |
    | 1ce203ac-ee34-b902-6c10-c806f0f52876 | 小学教师 | 37e2ea0a-1c31-3412-455a-5e60b8395f7d |
    | 37e2ea0a-1c31-3412-455a-5e60b8395f7d | 教师     | NULL                                 |
    | c877b7ea-4ed3-f472-9527-53e1618cb1dc | 高数老师 | 13ed38f1-3c24-dd81-492f-673686dff0f3 |
    | ce50a471-2955-00fa-2fb7-198f6b45b1bd | 中学教师 | 37e2ea0a-1c31-3412-455a-5e60b8395f7d |
    +--------------------------------------+----------+--------------------------------------+
    5 rows in set (0.00 sec)mysql> select row_count();
    +-------------+
    | row_count() |
    +-------------+
    |          -1 |
    +-------------+
    1 row in set (0.05 sec)
    不准
      

  3.   


    mysql> select * from test;
    +------+
    | id   |
    +------+
    |    1 |
    |    2 |
    |    3 |
    |    4 |
    |    5 |
    +------+
    5 rows in set (0.00 sec)mysql> select found_rows();
    +--------------+
    | found_rows() |
    +--------------+
    |            5 |
    +--------------+
    1 row in set (0.03 sec)mysql> insert into test value(4),(6),(10),(20);
    Query OK, 4 rows affected (0.13 sec)
    Records: 4  Duplicates: 0  Warnings: 0mysql> select row_count();
    +-------------+
    | row_count() |
    +-------------+
    |           4 |
    +-------------+
    1 row in set (0.00 sec)
      

  4.   

    ...found_row() 可以我的  row_count() 为什么总是-1
      

  5.   

    row_count()是对insert,delete,update操作的
    found_rows()是对select操作的