Russian Qt Forum
Ноябрь 22, 2024, 17:41
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Базы данных
>
Добавление записи в таблицу 'многие ко многим'
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Добавление записи в таблицу 'многие ко многим' (Прочитано 8583 раз)
SektorCT
Частый гость
Offline
Сообщений: 229
Добавление записи в таблицу 'многие ко многим'
«
:
Март 18, 2023, 14:04 »
Всем привет.
Имеется таблица такого вида 'id, user_id, group_id'. Первое поле это ключ а два других int значения это внешние ключи на 2 других таблицы.
Как правильно заполнять таблицу которая является 'многие ко многим'? Нужно ли иметь ссылку на id таблиц с которыми связана моя? Или это надо иначе делать?
Или у QSqlQuery есть какой то инструмент для связи таких ключей?
Спасибо заранее.
Записан
SektorCT
Частый гость
Offline
Сообщений: 229
Re: Добавление записи в таблицу 'многие ко многим'
«
Ответ #1 :
Март 18, 2023, 18:52 »
Получил для других таблиц с которыми связана 3 нужные id и как только пытаюсь вставить нужные значения то ошибка
QSqlError("", "Unable to fetch row", "No query")
Записан
tux
Global Moderator
Бывалый
Offline
Сообщений: 404
Re: Добавление записи в таблицу 'многие ко многим'
«
Ответ #2 :
Март 18, 2023, 23:48 »
Вы бы лучше простой проект сгенерировали с примером, что именно вы делаете и что хотите получить. А так просто найдётся кто-то, кто скажет "УМВР, прочти документацию". И на этом всё закончится.
Записан
Digital Art
SektorCT
Частый гость
Offline
Сообщений: 229
Re: Добавление записи в таблицу 'многие ко многим'
«
Ответ #3 :
Март 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), ...). Может кто поправить или посоветовать? Как будто еще какой то таблицы не хватает, и таблицы именно многие ко многим.
У одного юзера же может быть чат как с один пользователем так и в группе в которой такой же пользователь будет находится.
Спасибо.
Записан
tux
Global Moderator
Бывалый
Offline
Сообщений: 404
Re: Добавление записи в таблицу 'многие ко многим'
«
Ответ #4 :
Март 21, 2023, 21:56 »
Описываете вы совсем классику, которая описана в документации. Ошибка может быть в создании таблицы, допустим, если ваше поле id в таблице User не уникально. Или id в таблице Group. Или запрос на добавление данных не правильный. Или вы вообще, индекс не создали, мало ли.
Я ведь про проект не просто так написал.
Записан
Digital Art
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...