Название: Добавление записи в таблицу 'многие ко многим' Отправлено: SektorCT от Март 18, 2023, 14:04 Всем привет.
Имеется таблица такого вида 'id, user_id, group_id'. Первое поле это ключ а два других int значения это внешние ключи на 2 других таблицы. Как правильно заполнять таблицу которая является 'многие ко многим'? Нужно ли иметь ссылку на id таблиц с которыми связана моя? Или это надо иначе делать? Или у QSqlQuery есть какой то инструмент для связи таких ключей? Спасибо заранее. Название: Re: Добавление записи в таблицу 'многие ко многим' Отправлено: SektorCT от Март 18, 2023, 18:52 Получил для других таблиц с которыми связана 3 нужные id и как только пытаюсь вставить нужные значения то ошибка
QSqlError("", "Unable to fetch row", "No query") Название: Re: Добавление записи в таблицу 'многие ко многим' Отправлено: tux от Март 18, 2023, 23:48 Вы бы лучше простой проект сгенерировали с примером, что именно вы делаете и что хотите получить. А так просто найдётся кто-то, кто скажет "УМВР, прочти документацию". И на этом всё закончится.
Название: Re: Добавление записи в таблицу 'многие ко многим' Отправлено: SektorCT от Март 21, 2023, 17:21 Да, обьясняю я не очень хорошо. Сейчас опишу подробнее.
Есть таблицы User (id(int), name, email), Group(id(int), name), Friends(user_id(int), group_id(int)) Последняя таблица имеет связь Многие ко многим, и связана по id к другми двум группам. Но связь по типу int. Интересно есть ли в каких то базах связь полей по ссылке? На данном этапе использую SqLite. И дополнительный вопрос который по сути и этого касается, пытаюсь написать таблицы для уже часа и сообщений. User (id(int), Chat(id, name, ...), Message(id, from(user), to(chat), ...). Может кто поправить или посоветовать? Как будто еще какой то таблицы не хватает, и таблицы именно многие ко многим. У одного юзера же может быть чат как с один пользователем так и в группе в которой такой же пользователь будет находится. Спасибо. Название: Re: Добавление записи в таблицу 'многие ко многим' Отправлено: tux от Март 21, 2023, 21:56 Описываете вы совсем классику, которая описана в документации. Ошибка может быть в создании таблицы, допустим, если ваше поле id в таблице User не уникально. Или id в таблице Group. Или запрос на добавление данных не правильный. Или вы вообще, индекс не создали, мало ли.
Я ведь про проект не просто так написал. |