Как я могу получить значения количества строки в MySQL как @@ROWCOUNT
в mssql?
Для SELECTs вы можете использовать FOUND_ROWS
конструкцию (документированную здесь):
SELECT SQL_CALC_FOUND_ROWS something FROM your_table WHERE whatever;
SELECT FOUND_ROWS( ) ;
, которая вернёт количество строк в последнем запросе SELECT
(или если в первом запросе есть LIMIT
, она вернёт количество строк, которое было бы без LIMIT
).
Для UPDATE
/DELETE
/INSERT
, это ROW_COUNT конструкция
INSERT INTO your_table VALUES (1,2,3);
SELECT ROW_COUNT();
, которая возвращает количество затрагиваемых строк.
mysql> SELECT SQL_CALC_FOUND_ROWS * FROM tbl_name
-> WHERE id > 100 LIMIT 10;
mysql> SELECT FOUND_ROWS();
Подробнее об этом здесь
Самый простой способ - использовать переменную:
mysql> SELECT @rowcount:=COUNT(*) FROM my_table;
mysql> SELECT @rowcount;
Или вы можете использовать конструкцию FOUND_ROWS ()
после помещения SQL_CALC_FOUND_ROWS в оператор SELECT.
mysql> SELECT SQL_CALC_FOUND_ROWS * FROM my_table;
mysql> SELECT FOUND_ROWS();