П О Р Т А Л                            
С Е Т Е В Ы Х                          
П Р О Е К Т О В                        
  
Поиск по сайту:
                                                 
Главная

О проекте

Web-мастеру
     HTML & JavaScript
     SSI
     Perl
     PHP
     XML & XSLT
     Unix Shell

MySQL

Безопасность

Хостинг

Другое








Самое читаемое:

Учебник PHP - "Для Чайника".
Просмотров 174926 раз(а).

Иллюстрированный самоучитель по созданию сайтов.
Просмотров 71839 раз(а).

Учебник HTML.
Просмотров 72011 раз(а).

Руководство по PHP5.
Просмотров 42618 раз(а).

Хостинг через призму DNS.
Просмотров 49059 раз(а).

Подборка текстов стандартных документов.
Просмотров 43037 раз(а).

Учебник PHP - Самоучитель
Просмотров 49380 раз(а).

Документация на MySQL (учебник & справочное руководство)
Просмотров 49614 раз(а).

Внешние атаки...
Просмотров 40168 раз(а).

Учебник PHP.
Просмотров 35196 раз(а).

SSI в примерах.
Просмотров 26504 раз(а).



 
 
| Добавить в избранное | Сделать стартовой | Помощь




Глава 3. Учебное пособие по MySQL
Пред. След.

3.5. Примеры стандартных запросов
3.5.9. Использование атрибута AUTO_INCREMENT

Атрибут AUTO_INCREMENT может использоваться для генерации уникального идентификатора для новых строк:

CREATE TABLE animals (
 id MEDIUMINT NOT NULL AUTO_INCREMENT,
 name CHAR(30) NOT NULL,
 PRIMARY KEY (id)
 );
INSERT INTO animals (name) VALUES ("dog"),("cat"),("penguin"),
  ("lax"),("whale");
SELECT * FROM animals;

Что вернет:

+----+---------+
| id | name    |
+----+---------+
|  1 | dog     |
|  2 | cat     |
|  3 | penguin |
|  4 | lax     |
|  5 | whale   |
+----+---------+

Вы можете получить AUTO_INCREMENT ключ с помощью функции SQL LAST_INSERT_ID() или с помощью функции mysql_insert_id() интерфейса C.

Для многострочной вставки, LAST_INSERT_ID()/mysql_insert_id() на самом деле вернут AUTO_INCREMENT значение для первой вставленной записи. Это сделано для того, чтобы многострочные вставки можно было повторить на других серверах.

В таблицах MyISAM и BDB можно определить AUTO_INCREMENT для вторичного столбца составного ключа. В этом случае значение, генерируемое для автоинкрементного столбца, вычисляется как MAX(auto_increment_column)+1) WHERE prefix=given-prefix. Столбец с атрибутом AUTO_INCREMENT удобно использовать, когда данные нужно помещать в упорядоченные группы.

CREATE TABLE animals (
 grp ENUM('fish','mammal','bird') NOT NULL,
 id MEDIUMINT NOT NULL AUTO_INCREMENT,
 name CHAR(30) NOT NULL,
 PRIMARY KEY (grp,id)
 );
INSERT INTO animals (grp,name) VALUES("mammal","dog"),("mammal","cat"),
  ("bird","penguin"),("fish","lax"),("mammal","whale");
SELECT * FROM animals ORDER BY grp,id;

Что вернет:

+--------+----+---------+
| grp    | id | name    |
+--------+----+---------+
| fish   |  1 | lax     |
| mammal |  1 | dog     |
| mammal |  2 | cat     |
| mammal |  3 | whale   |
| bird   |  1 | penguin |
+--------+----+---------+

Обратите внимание, что в этом случае значение AUTO_INCREMENT будет использоваться повторно, если в какой-либо группе удаляется строка, содержащая наибольшее значение AUTO_INCREMENT.


Назад Начало Главы Начало Раздела Вперед

Пред. Глава След. Глава
Глава 2. Установка MySQL Начало Книги Глава 4. Администрирование баз данных


Если Вы не нашли что искали, то рекомендую воспользоваться поиском по сайту:
 





Copyright © 2005-2016 Project.Net.Ru