R
Rus6lanМамыр 16, 2017, 8:38 Т.Ж.

AUTOINCREMENT in Sqlite

Такая проблема (а может и не проблема), У меня стоит автоинкрементация поля id в таблице. Я то удаляю, то добавлю там записи( проверяю работу приложения). А id все растет. Мне кажется должно выглядеть как-то аккуратнее. А еще вопрос. У меня есть таблица студенты. Есть таблица преподаватели, мне надо, чтобы при выборе строчки в tableview(с преподавателями), в другом tableview отображались студенты именно это преподавателя. Я решил, что я добавлю строчку id_teacher в таблицу студентов, и при выбирании строчки в tableview(преподаватели) буду делать select * from students where id_teacher = и id выбранной строчки. Как вы считаете это нормальное решение?

Screenshot_2.png
Рекомендуем хостинг TIMEWEB
Рекомендуем хостинг TIMEWEB
Стабильный хостинг, на котором располагается социальная сеть EVILEG. Для проектов на Django рекомендуем VDS хостинг.

Ол саған ұнайды ма? Әлеуметтік желілерде бөлісіңіз!

4
R
  • Мамыр 16, 2017, 8:39 Т.Ж.

Вот скрин программы.

    Evgenii Legotckoi
    • Мамыр 16, 2017, 10:20 Т.Ж.

    Что касается автоикрементации, то не обращайте на это внимание - это обычное поведение баз данных. ID должен быть уникальным для записей, а автоматическая инкрементация - это как раз тот механизм, который переносит проблему подбора ID на сторону базы данных. Это не должно выглядеть аккуратнее, это должно работать как следует и это работает как следует.

    Можете конечно загрузиться поиском свободного ID и вставки именно в свободный ID записи, чтобы было красиво, только в вашей программе я не вижу смысла в этом. Только код усложните.

    Что касается вашего решения по подбору учеников по преподавателю, то это верное решение, только делайте id_teacher как FOREIGN KEY на таблицу учителей - это будет правильнее, а не просто хранить id как целочисленное значение. Тогда больше возможностей SQL будет доступно.

      R
      • Мамыр 16, 2017, 3:37 Т.Қ.

      А удобнее использовать QSqlRelationalTableModel? Я использую просто QSqlTableModel.

        Evgenii Legotckoi
        • Мамыр 17, 2017, 12:14 Т.Ж.
        QSqlRelationTableModel позволит дёрнуть колонки из других таблиц, на которые есть внешние ключи. Если же вы выводите только таблицу с учениками, то без разницы, я бы оставил и QSqlTableModel .

          Пікірлер

          Тек рұқсаты бар пайдаланушылар ғана пікір қалдыра алады.
          Кіріңіз немесе Тіркеліңіз
          Ua

          Qt - Тест 001. Сигналы и слоты

          • Нәтиже:84ұпай,
          • Бағалау ұпайлары4
          Ua

          Qt - Тест 001. Сигналы и слоты

          • Нәтиже:42ұпай,
          • Бағалау ұпайлары-8
          ОК

          Qt - Тест 001. Сигналы и слоты

          • Нәтиже:47ұпай,
          • Бағалау ұпайлары-6
          Соңғы пікірлер
          ИМ
          Игорь МаксимовҚар. 22, 2024, 11:51 Т.Ж.
          Django - Оқулық 017. Теңшелген Django кіру беті Добрый вечер Евгений! Я сделал себе авторизацию аналогичную вашей, все работает, кроме возврата к предидущей странице. Редеректит всегда на главную, хотя в логах сервера вижу запросы на правильн…
          Evgenii Legotckoi
          Evgenii LegotckoiҚаз. 31, 2024, 2:37 Т.Қ.
          Django - Сабақ 064. Python Markdown кеңейтімін қалай жазуға болады Добрый день. Да, можно. Либо через такие же плагины, либо с постобработкой через python библиотеку Beautiful Soup
          A
          ALO1ZEҚаз. 19, 2024, 8:19 Т.Ж.
          Qt Creator көмегімен fb3 файл оқу құралы Подскажите как это запустить? Я не шарю в программировании и кодинге. Скачал и установаил Qt, но куча ошибок выдается и не запустить. А очень надо fb3 переконвертировать в html
          ИМ
          Игорь МаксимовҚаз. 5, 2024, 7:51 Т.Ж.
          Django - Сабақ 064. Python Markdown кеңейтімін қалай жазуға болады Приветствую Евгений! У меня вопрос. Можно ли вставлять свои классы в разметку редактора markdown? Допустим имея стандартную разметку: <ul> <li></li> <li></l…
          d
          dblas5Шілде 5, 2024, 11:02 Т.Ж.
          QML - Сабақ 016. SQLite деректер қоры және онымен QML Qt-та жұмыс істеу Здравствуйте, возникает такая проблема (я новичок): ApplicationWindow неизвестный элемент. (М300) для TextField и Button аналогично. Могу предположить, что из-за более новой верси…
          Енді форумда талқылаңыз
          NW
          Nayo WaiҚаң. 30, 2025, 9:22 Т.Ж.
          не запускается компьютер!!! Не запускается компьютер (точнее работает блок , но сам монитор вообще жесть)В общем я ничего с интернета не скачивала в последнее время. На компе никаких левых пр…
          n
          nklyҚаң. 3, 2025, 2:52 Т.Ж.
          Нужно запретить перемещение только некоторых итемов, остальные перемещать можно. Вопрос решен. Узнать QModelIndex элемента на который мы перетаскиваем другой элемент, можно с помощью функции indexAt(event->position().toPoint()) представления QTreeViev вызываемой в переопр…
          M
          MarselТам. 16, 2023, 2:26 Т.Қ.
          OAuth2.0 через VK, получение email Спасибо большое за помощь и простите за то что отнял время своей невнимательностью.
          Evgenii Legotckoi
          Evgenii LegotckoiМаусым 24, 2024, 3:11 Т.Қ.
          добавить qlineseries в функции Я тут. Работы оень много. Отправил его в бан.
          t
          tonypeachey1Қар. 15, 2024, 6:04 Т.Ж.
          google domain [url=https://google.com/]domain[/url] domain [http://www.example.com link title]

          Бізді әлеуметтік желілерде бақылаңыз