Как узнать ID последней ноды в БД?

Прислано: KCEOH

ср, 04/04/2007 - 19:02

Нужно самому добавлять ноды (свой код). Но у node и node_revision нет автоинкремента, поэтому надо прямо указывать ID ноды. Вначале думал, что прокатит брать через SELECT max(nid) from 'node' но тут вот какой косяк...

Есть 20 нод, удаляем последнию получается максимальная нода 19. Я добавляю своим кодом 2 ноды - получается 21-я нода. А потом если добавлять через друпал - возникает ошибка duplicate, для друпала 21 не была занята.

Вот собственно и вопрос - как узнать, какой у ноды был последний номер?

Комментарии


Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Применить"
Опубликовано blackvl@drupal.org в ср, 04/04/2007 - 19:10.

select node_nid , node_revisions_vid from sequences;


Опубликовано KCEOH в ср, 04/04/2007 - 19:24.

Во, то что надо, спасибо.


Опубликовано magway в ср, 04/04/2007 - 21:12.

думаю лучше использовать функцию API Drupal db_next_id($name)
.
.


Опубликовано KCEOH в чт, 05/04/2007 - 05:46.

Тогда мне (точнее коду) придется тянуть еще друпаловский код, минимум /include/dblayer.inc :)

Тем более что db_next_id запрашивает то же самое из базы.


Опубликовано ultraboy@drupal.org в чт, 05/04/2007 - 06:42.

Правильно, я тоже люблю запросы писать! API - это для лохов.


Опубликовано A.L.F. в чт, 05/04/2007 - 08:57.

Вопрос почти по теме)))
Нужно nid приравнять к vid! А как это сделать? При помощи какой команды? Неохота вручную перебивать все полторы штуки нодов))


Опубликовано KCEOH в чт, 05/04/2007 - 20:50.

2 ultraboy@drupal.org
просто то, как я применять буду - не нужно таскать. Скрипт будет удаленно коннектицо к нескольким БД, и в каждую писать свои ноды. И скрипт желательно мобильный и маленький иметь, без довесков.

2 A.L.F.
обычно вроде они равны... или какие-то шаманства были произведены с базой?


Опубликовано A.L.F. в пт, 06/04/2007 - 09:47.

ага)) именно химичества...
Перевожу друпал с 4.2. на 5.1 ))
Подробности истории http://drupal.ru/node/4642

А теперь нужно автоматом приравнять)))


Опубликовано Ромка в пт, 06/04/2007 - 11:15.

Нужно nid приравнять к vid! А как это сделать? При помощи какой команды? Неохота вручную перебивать все полторы штуки нодов))

Хммм... Может выполнить запросы вида:

UPDATE node SET vid = nid
UPDATE node_revisions SET vid = nid

Только базу сначала, на всякий пожарный, забэкапь.


Опубликовано A.L.F. в сб, 07/04/2007 - 11:42.

Сенькс... получилось ))


Опубликовано A.L.F. в сб, 07/04/2007 - 16:30.

теперь вопрос касательно того что уже задавали))) только немного в другом ключе...
есть полторы штуки нодов, и надо стобы друпал начал публиковать скажем с 1501 ноды...
А в настоящий момент он фактически сначала публикует... с 33 ноды примерно... хотя эти ноды существуют и далее...
Как заставить его начинать публиковать с ноды которой мне нужно?