db_next_id

Хочешь помочь с переводом? Это очень просто и быстро. Лишь зарегистрируйся, и можешь тут же начать переводить.

includes/database.mysql.inc, строка 262

Версии
5
db_next_id($name)

Возвращает новый уникальный ID для данной таблицы.

Из соображений совместимости, Drupal не использует автонумерацию полей в таблицах своих баз данных. Вместо этого, эта функция используется, чтобы вернуть новый уникальный ID запрошенного типа. Если необходимо, новая последовательность с заданным именем будет создана.

Обратите внимание на то, что имя таблицы должно быть в фигурных скобках, чтобы сохранить возможность работы с префиксами таблиц. Например, db_next_id('{node}_nid');

Связанные темы

▾ 14 функции вызывают db_next_id()

aggregator_save_category in modules/aggregator/aggregator.module
Добавление/редактирование/удаление категорий агрегатора.
aggregator_save_feed in modules/aggregator/aggregator.module
Добавление/редактирование/удаление фидов аггрегатора.
aggregator_save_item in modules/aggregator/aggregator.module
Добавление/редактирование/удаление элемента аггрегатора.
comment_save in modules/comment/comment.module
Сохраняет новый или измененный комментарий.
drupal_client_ping in modules/drupal/drupal.module
Callback function from drupal_xmlrpc() called when another site pings this one.
menu_save_item in modules/menu/menu.module
Save a menu item to the database.
node_save in modules/node/node.module
Сохраняет ноду в базе данных.
system_update_146 in modules/system/system.install
system_update_151 in modules/system/system.install
system_update_159 in modules/system/system.install
Retrieve data out of the old_revisions table and put into new revision system.
taxonomy_save_term in modules/taxonomy/taxonomy.module
Вспомогательная функция для taxonomy_form_term_submit().
taxonomy_save_vocabulary in modules/taxonomy/taxonomy.module
upload_save in modules/upload/upload.module
user_save in modules/user/user.module
Save changes to a user account or add a new user.

Код

<?php
function db_next_id($name) {
  $name = db_prefix_tables($name);
  db_query('LOCK TABLES {sequences} WRITE');
  $id = db_result(db_query("SELECT id FROM {sequences} WHERE name = '%s'", $name)) + 1;
  db_query("REPLACE INTO {sequences} VALUES ('%s', %d)", $name, $id);
  db_query('UNLOCK TABLES');

  return $id;
}
?>
Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Вход в систему