Buy this Reference Manual in softcover from Barnes & Noble!
В дополнение к возвращенному запросом результирующему набору данных можно также получить следующую информацию:
mysql_affected_rows()
возвращает количество строк, подвергшихся воздействию во время последнего запроса при выполнении INSERT
, UPDATE
или DELETE
. Исключение составляет случай использования команды DELETE
без выражения WHERE
, когда таблица воссоздается как пустая, а это намного быстрее! В таком случае функция mysql_affected_rows()
в качестве количества подвергшихся воздействию записей возвращает нуль.mysql_num_rows()
возвращает количество строк в результирующем наборе данных. Функция mysql_num_rows()
может вызываться сразу же после возвращения функции mysql_store_result()
. Совместно с функцией mysql_use_result()
функция mysql_num_rows()
может вызываться только после того, как извлечены все строки с помощью функции mysql_fetch_row()
.mysql_insert_id()
возвращает идентификатор, созданный последним запросом, внесшим строку в таблицу с автоинкрементным полем (AUTO_INCREMENT
, mysql_insert_id()
).LOAD DATA INFILE ...
, INSERT INTO ... SELECT ...
, UPDATE
) возвращают дополнительную информацию. Ее можно получить с помощью функции mysql_info()
. Описание формата возвращаемой строки смотрите в описании функции mysql_info()
. Если дополнительная информация отсутствует, то функция mysql_info()
возвращает указатель NULL
.Posted by Alex Moreno on Wednesday December 18 2002, @5:27pm | [Delete] [Edit] |
I'd like to point out something about
LAST_INSERT_ID().
Certainly, if you do:
INSERT INTO foo (auto, text)
VALUES (NULL, 'text');
and then:
SELECT LAST_INSERT_ID();
you will get the id assigned to that row. BUT, if
you do something like:
INSERT INTO foo (auto, text)
VALUES (NULL, 'text1'),
(NULL, 'text2'),
(NULL, 'text3');
Then, LAST_INSERT_ID() will give you the id of the
row with the 'text1' value!
So, if for example, foo has no rows before
this
multiple INSERT, after this INSERT the value
returned by LAST_INSERT_ID() will be 1, even
though the table has inserted three ids (1, 2 and
3, naturally).
Maybe this is how it should work, but it
didn't
seem so to me =)
Add your own comment.