Сообщение от
DeimoS
То бишь, там хранится текст, который игрок сам и записывает в него.
Да.
Сообщение от
DeimoS
И, при этом, текст привязан к предмету инвентаря
Нет, сейчас просто привзян к книге, которая в diary. Сейчас же хочу как-то привязать к инвентарю или т.п.
Сообщение от
DeimoS
И что у тебя сейчас за структура таблиц? Не очень понятно зачем две таблицы и что за привязка к игроку.
Одна таблица, где хранится сама книга, вторая - где её записи. Раньше просто не хотел привязываться к столбцу в accounts и на будущее для, например, каких-то нововведений в книгу.
Сейчас же, я так понял, необходимо так-же оставить всё, но не привязываться к игроку, к которому принадлежит, а чтобы книга была сама по себе. И в инвентаре, например, создать extra_int где будет хранится ID строки книги и по ней загружать остальные данные, что-ли
PHP код:
mysql_query(DIARY_MYSQL_CONNECTION_ID, "\
CREATE TABLE IF NOT EXISTS `diary` ( \
`id` int(11) NOT NULL AUTO_INCREMENT, \
`owner_id` int(11) NOT NULL, \
PRIMARY KEY (`id`) \
) ENGINE=InnoDB DEFAULT CHARSET=cp1251 AUTO_INCREMENT=1 ;", false);
mysql_query(DIARY_MYSQL_CONNECTION_ID, !"\
CREATE UNIQUE INDEX \
owner_id \
ON \
diary(owner_id)", false);
mysql_query(DIARY_MYSQL_CONNECTION_ID, !"\
ALTER TABLE \
`diary`\
ADD CONSTRAINT \
`diary_accounts_fk_1` \
FOREIGN KEY \
(`owner_id`) \
REFERENCES \
`accounts` (`pID`) \
ON DELETE CASCADE ON UPDATE CASCADE", false);
mysql_format(DIARY_MYSQL_CONNECTION_ID, query_string, sizeof query_string, "\
CREATE TABLE IF NOT EXISTS `diary_notation` ( \
`id` int(11) NOT NULL AUTO_INCREMENT, \
`diary_id` int(11) NOT NULL, \
`caption` varchar(%d) NOT NULL, \
`contents` varchar(%d) NOT NULL, \
`date` date NOT NULL, \
PRIMARY KEY (`id`) \
) ENGINE=InnoDB DEFAULT CHARSET=cp1251 AUTO_INCREMENT=1 ;",
DIARY_MAX_CAPTION_LENGTH, DIARY_MAX_CONTENTS_LENGTH);
mysql_query(DIARY_MYSQL_CONNECTION_ID, query_string, false);
mysql_query(DIARY_MYSQL_CONNECTION_ID, !"\
CREATE INDEX \
diary_id \
ON \
diary_notation(diary_id)", false);
mysql_query(DIARY_MYSQL_CONNECTION_ID, !"\
CREATE INDEX \
date \
ON \
diary_notation(date)", false);
mysql_query(DIARY_MYSQL_CONNECTION_ID, !"\
ALTER TABLE \
`diary_notation`\
ADD CONSTRAINT \
`diary_notation_diary_fk_1` \
FOREIGN KEY \
(`diary_id`) \
REFERENCES \
`diary` (`id`) \
ON DELETE CASCADE ON UPDATE CASCADE", false);