Форум программистов, компьютерный форум, киберфорум
SQLite
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
 Аватар для Andrew_bio
0 / 0 / 0
Регистрация: 10.06.2014
Сообщений: 127

Вставить строку, если нет, изменить если отличается, ничего не делать если есть такая же и сообщить выполненное действие

07.06.2022, 14:38. Показов 1311. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Приветствую , теряюсь в догадках, как мне одним запросом осуществить следующее действие и возможно ли это?

Нужно вставить строку в таблицу (о как), при этом:

1. Если её нет (ищем по ключу), то вставляем.
2. Если она есть, но неключевые значения отличаются, мы их обновляем.
3. А если имеющаяся полностью совпадает с добавляемой, то ничего не делаем.

но пол беды, надо еще вернуть сведения о том, что было сделано с этой несчастной строчкой: вставка, изменение или ничего

Добавлено через 1 час 34 минуты
черт с ним, сделаю тремя запросами)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
07.06.2022, 14:38
Ответы с готовыми решениями:

Как удалить дочерний объект, если он есть, и ничего не делать, если его нету?
Я делаю шутер с подбором оружия, и для того чтобы подобрать следующее, нужно удалить нынешнее, как это сделать? нужно удалить дочерние...

Процедура с условием: если такая запись есть, то update, если нет, то insert
Хочу сделать процедуру по вбиванию/удалению. Если такая запись есть, то update, если нет, то insert. Подсказали примерно такую штуку, но...

Создать метод для строки чисел такой чтоб он удалял 0 в начале если он есть а если нет то не изменял строку
Помогите сделать метод для строки чисел такой чтоб он удалял 0 в начале если он есть а если нет то не изменял строку Например 077 -...

5
 Аватар для pincet
1654 / 1153 / 173
Регистрация: 23.07.2010
Сообщений: 6,910
08.06.2022, 11:25
merge не предлагать?
вернет количество затронутых строк. но это уже другая история
1
 Аватар для Andrew_bio
0 / 0 / 0
Регистрация: 10.06.2014
Сообщений: 127
08.06.2022, 16:37  [ТС]
да не, я уже сделал по нормальному, запросил строчку, сравнил строчку с новой, вставка, апдейт, игнор - по ситуации

и три запроса примитивных всем понятных
0
1234 / 424 / 107
Регистрация: 31.03.2012
Сообщений: 1,159
08.06.2022, 17:18
Цитата Сообщение от Andrew_bio Посмотреть сообщение
сделал по нормальному, запросил строчку, сравнил строчку с новой, вставка, апдейт, игнор
иногда нужно читать документацию: insert or replace

Не по теме:


Цитата Сообщение от Andrew_bio Посмотреть сообщение
три запроса примитивных
запросить, сравнить, вставить/обновить/игнорировать, ну-ну...

0
 Аватар для Andrew_bio
0 / 0 / 0
Регистрация: 10.06.2014
Сообщений: 127
08.06.2022, 17:33  [ТС]
откуда вы знаете читал я про это или нет? вы этого не знаете, но почему-то так отвечаете, это первое.
второе - у меня счетчики вставок, апдейтов и игноров в вызывающей программе, и я сделал максимально просто и понятно и в целом доволен , через полгода не придется вспоминать, че я там наворотил
0
1234 / 424 / 107
Регистрация: 31.03.2012
Сообщений: 1,159
09.06.2022, 00:47
Andrew_bio, Извините, теперь я знаю, что Вы читали то, на что я обратил ваше внимание.
Но меня гложет сомнение, что Вы внимательно изучили исходники sqlite-amalgamation-3380500\sqlite3.c
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
09.06.2022, 00:47
Помогаю со студенческими работами здесь

Если в строке только цифры, то происходит действие, если нет то ошибка (Xamarin Forms)
Есть код StackLayout stackLayout1 = new StackLayout(); coint = new Entry { Placeholder = "Введите № ",HorizontalOptions =...

Заменить совпадение в строке, а если совпадения нет, то ничего не делать
Задача в том, чтобы проверив строку и обнаружив в ней искомый символ, заменить его, а если его не обнаружено, то не менять. Простой...

Если запись в столбце существует, то ничего не делать, если запись отсутствует, то записать нужное значение. Как реализовать?
Если запись в столбце существует, то ничего не делать, если запись отсутствует, то записать нужное значение. Как реализовать?

Проверить есть ли в определенном столбце пустое значение, если есть вывести сообщение, если нет загрузить данные в БД
Есть datagridview, в который данные загружаются из БД. Пользователь может добавлять данные в dgv. Нужно, чтобы если в 1 или 2 столбце в...

Удалить строку в наборе, если есть такая же
Здравствуйте, подскажите, что не так? Возвращает nullPointerException /** * Возвращает набор (коллекцию), в котором хранятся...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru