[Help] SQL-запрос на добавление темы/сообщения

Горбушка

Ищу её...
Регистрация
2 Май 2008
Сообщения
3.444
Реакции
2.524
Доброго всем.

Собственно, имеется довольно увесистый пакет текстовых файлов, которые надо залить в булку. К некоторым идут картинки и архивы.
Сам скрипт, который это будет делать есть, но он под другой форум писался. Переписать могу сам.

Короче, нужен пример запроса SQL на добавление темы и сообщения с вложением.

vBulletin Version 4.2.1

Заранее спасибо.

P.s. поставить и вычислить самим не предлагать, вопрос к разбирающимся.
 
Там всё довольно мерзко - аттачи в одной таблице, сами сообщения в другой, а их типа индекса - третья. Поэтому по факту там могут быть сообщения которых не показывает поиск по форуму, потому что их нет в третьей таблице. Добавлять не приходилось - приходилось выгребать из огромного дампа вбулки эти самые сообщения и аттачи самопальным поиском.
CREATE TABLE `antibb_attachment` (
`attachmentid` int(10) unsigned NOT NULL AUTO_INCREMENT,
`userid` int(10) unsigned NOT NULL DEFAULT '0',
`dateline` int(10) unsigned NOT NULL DEFAULT '0',
`thumbnail_dateline` int(10) unsigned NOT NULL DEFAULT '0',
`filename` varchar(100) NOT NULL DEFAULT '',
`filedata` mediumtext NOT NULL,
`visible` smallint(5) unsigned NOT NULL DEFAULT '0',
`counter` smallint(5) unsigned NOT NULL DEFAULT '0',
`filesize` int(10) unsigned NOT NULL DEFAULT '0',
`postid` int(10) unsigned NOT NULL DEFAULT '0',
`filehash` varchar(32) NOT NULL DEFAULT '',
`posthash` varchar(32) NOT NULL DEFAULT '',
`thumbnail` mediumtext NOT NULL,
`thumbnail_filesize` int(10) unsigned NOT NULL DEFAULT '0',
`importattachmentid` bigint(20) NOT NULL DEFAULT '0',
`description` varchar(150) NOT NULL DEFAULT '',
PRIMARY KEY (`attachmentid`),
KEY `filesize` (`filesize`),
KEY `filehash` (`filehash`),
KEY `userid` (`userid`),
KEY `posthash` (`posthash`,`userid`),
KEY `postid` (`postid`)
) ENGINE=MyISAM AUTO_INCREMENT=1639 DEFAULT CHARSET=cp1251;

CREATE TABLE `antibb_post` (
`postid` int(10) unsigned NOT NULL AUTO_INCREMENT,
`threadid` int(10) unsigned NOT NULL DEFAULT '0',
`parentid` int(10) unsigned NOT NULL DEFAULT '0',
`username` varchar(50) NOT NULL DEFAULT '',
`userid` int(10) unsigned NOT NULL DEFAULT '0',
`title` varchar(250) NOT NULL DEFAULT '',
`dateline` int(10) unsigned NOT NULL DEFAULT '0',
`pagetext` mediumtext NOT NULL,
`allowsmilie` smallint(6) NOT NULL DEFAULT '0',
`showsignature` smallint(6) NOT NULL DEFAULT '0',
`ipaddress` varchar(15) NOT NULL DEFAULT '',
`proxyip` varchar(50) NOT NULL DEFAULT '',
`iconid` smallint(5) unsigned NOT NULL DEFAULT '0',
`visible` smallint(6) NOT NULL DEFAULT '0',
`attach` smallint(5) unsigned NOT NULL DEFAULT '0',
`importthreadid` bigint(20) NOT NULL DEFAULT '0',
`importpostid` bigint(20) NOT NULL DEFAULT '0',
PRIMARY KEY (`postid`),
KEY `iconid` (`iconid`),
KEY `userid` (`userid`),
KEY `threadid` (`threadid`,`userid`)
) ENGINE=MyISAM AUTO_INCREMENT=2210477 DEFAULT CHARSET=cp1251;

CREATE TABLE `antibb_postindex` (
`wordid` int(10) unsigned NOT NULL DEFAULT '0',
`postid` int(10) unsigned NOT NULL DEFAULT '0',
`intitle` smallint(5) unsigned NOT NULL DEFAULT '0',
`score` smallint(5) unsigned NOT NULL DEFAULT '0',
UNIQUE KEY `wordid` (`wordid`,`postid`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251;

И темы ещё, но с ними вроде проще. А много файлов это сколько? Может быть проще через fsockopen авторизоваться скрипту и на форуме кнопки жать через POST ? И пусть движок сам разбирается что куда добавлять.
 
Последнее редактирование:
Горбушка, может API есть смысл использовать?
Для просмотра ссылки Войди или Зарегистрируйся
  • Threads
  • Threads with a Post

По времени выполнения может занять чуть больше, чем базу парой запросов конвертировать, но пишется быстрее и меньше шансов что-нибудь упустить (разрешения всякие). Имеет смысл проверить на 2-3 постах (в т.ч. доступность без авторизации топиков, файлов и прочего)
Примеры вроде такого Для просмотра ссылки Войди или Зарегистрируйся
Хотя, если есть желание разобраться досконально - изучать структуру таблиц.
 
И темы ещё, но с ними вроде проще. А много файлов это сколько? Может быть проще через fsockopen авторизоваться скрипту и на форуме кнопки жать через POST ? И пусть движок сам разбирается что куда добавлять.
Файлов... Мммм.... Да несколько тысяч...
Горбушка, может API есть смысл использовать?
Думал над этим, но как-то лень сейчас читать на инглише стопку литературы по этому API...
Хотя, если есть желание разобраться досконально - изучать структуру таблиц.
Нулевое желание =)
 
Назад
Сверху