# Главная
# О библиотеке

# Выбор дистрибутива
преимущества Linux/UNIX | основные дистрибутивы | серверный Linux | BSD | LiveCDs | прочее

# Установка и удаление программ
общие вопросы | каталоги софта | специальные случаи

# Настройка и работа
установка, загрузчики | настройка Linux | консоль | файловые системы | процессы | шеллы, русификация, коммандеры | виртуальные машины, эмуляторы

# X Window и оконные менеджеры
настройка X Window | GNOME | KDE | IceWM и др.

# Работа с текстами
редакторы | офис | шрифты, кодировки и русификация | преобразования текстовых файлов | LaTeX, SGML и др. | словари

# Графика
GIMP | фото | обработка изображений | форматы графических файлов

# Сети, администрирование
общие вопросы | Dialup & PPP | брандмауэры | маршрутизация | работа в Windows-сетях | веб-серверы | Apache | прокси-серверы | сетевая печать | прочее

# Программирование
GCC & GNU make | программирование в UNIX | графические библиотеки | Tcl | Perl | PHP | Java & C# | СУБД | CVS | прочее

# Ядро
# Мультимедиа
# Интернет
# Почта
# Безопасность
# Железо
# Разное

# Linux HowTo (как сделать)
# Книги и руководства
# Материалы на английском языке


MySQL The World's Most Popular Open Source Database # Online shop | Site map |  
CompanyProductsSupport & ConsultingTraining & CertificationDownloadsDocumentation
  BooksArticlesMailing ListsPresentationsOther Sites  
Search the MySQL manual:
MySQL Manual
  • 8 Интерфейсы для MySQL
    • 8.4 Интерфейс C для MySQL
      • 8.4.6 Основные вопросы и проблемы в использовании интерфейса C
        • 8.4.6.1 Почему после успешных возвратов функции mysql_query() функция mysql_store_result() иногда возвращает NULL?
        • 8.4.6.2 Какие результаты можно получить из запроса?
        • 8.4.6.3 Как получить уникальный идентификатор для последней внесенной строки?
        • 8.4.6.4 Проблемы линкования с интерфейсом C

Buy this Reference Manual in softcover from Barnes & Noble!

MySQL Reference Manual
Previous / Next / Up / Table of Contents

8.4.6.2 Какие результаты можно получить из запроса?

В дополнение к возвращенному запросом результирующему набору данных можно также получить следующую информацию:

  • Функция 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.

User Comments

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.

Top / Previous / Next / Up / Table of Contents
# MySQL.com home | Site map | Contact us | Press | Jobs | Privacy policy | Trademark info | © 1995-2003 MySQL AB. All rights reserved.