db_next_id
includes/database.mysql.inc, строка 262
- Версии
- 5
db_next_id($name)
Возвращает новый уникальный ID для данной таблицы.
Из соображений совместимости, Drupal не использует автонумерацию полей в таблицах своих баз данных. Вместо этого, эта функция используется, чтобы вернуть новый уникальный ID запрошенного типа. Если необходимо, новая последовательность с заданным именем будет создана.
Обратите внимание на то, что имя таблицы должно быть в фигурных скобках, чтобы сохранить возможность работы с префиксами таблиц. Например, db_next_id('{node}_nid');
Связанные темы
Код
<?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;
}
?>
Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии