Как узнать ID последней ноды в БД?
Прислано: KCEOH
ср, 04/04/2007 - 19:02
Нужно самому добавлять ноды (свой код). Но у node и node_revision нет автоинкремента, поэтому надо прямо указывать ID ноды. Вначале думал, что прокатит брать через SELECT max(nid) from 'node' но тут вот какой косяк...
Есть 20 нод, удаляем последнию получается максимальная нода 19. Я добавляю своим кодом 2 ноды - получается 21-я нода. А потом если добавлять через друпал - возникает ошибка duplicate, для друпала 21 не была занята.
Вот собственно и вопрос - как узнать, какой у ноды был последний номер?
- KCEOH's blog
- Для комментирования войдите или зарегистрируйтесь
select node_nid , node_revisions_vid from sequences;
- Для комментирования войдите или зарегистрируйтесь
Во, то что надо, спасибо.
- Для комментирования войдите или зарегистрируйтесь
думаю лучше использовать функцию API Drupal db_next_id($name)
.
.
- Для комментирования войдите или зарегистрируйтесь
Тогда мне (точнее коду) придется тянуть еще друпаловский код, минимум /include/dblayer.inc :)
Тем более что db_next_id запрашивает то же самое из базы.
- Для комментирования войдите или зарегистрируйтесь
Правильно, я тоже люблю запросы писать! API - это для лохов.
- Для комментирования войдите или зарегистрируйтесь
Вопрос почти по теме)))
Нужно nid приравнять к vid! А как это сделать? При помощи какой команды? Неохота вручную перебивать все полторы штуки нодов))
- Для комментирования войдите или зарегистрируйтесь
2 ultraboy@drupal.org
просто то, как я применять буду - не нужно таскать. Скрипт будет удаленно коннектицо к нескольким БД, и в каждую писать свои ноды. И скрипт желательно мобильный и маленький иметь, без довесков.
2 A.L.F.
обычно вроде они равны... или какие-то шаманства были произведены с базой?
- Для комментирования войдите или зарегистрируйтесь
ага)) именно химичества...
Перевожу друпал с 4.2. на 5.1 ))
Подробности истории http://drupal.ru/node/4642
А теперь нужно автоматом приравнять)))
- Для комментирования войдите или зарегистрируйтесь
Нужно nid приравнять к vid! А как это сделать? При помощи какой команды? Неохота вручную перебивать все полторы штуки нодов))
Хммм... Может выполнить запросы вида:
UPDATE node SET vid = nid
UPDATE node_revisions SET vid = nid
Только базу сначала, на всякий пожарный, забэкапь.
- Для комментирования войдите или зарегистрируйтесь
Сенькс... получилось ))
- Для комментирования войдите или зарегистрируйтесь
теперь вопрос касательно того что уже задавали))) только немного в другом ключе...
есть полторы штуки нодов, и надо стобы друпал начал публиковать скажем с 1501 ноды...
А в настоящий момент он фактически сначала публикует... с 33 ноды примерно... хотя эти ноды существуют и далее...
Как заставить его начинать публиковать с ноды которой мне нужно?
- Для комментирования войдите или зарегистрируйтесь



Комментарии