Форум программистов, компьютерный форум, киберфорум
PostgreSQL
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
194 / 13 / 3
Регистрация: 20.01.2015
Сообщений: 180

UPDATE и LIMIT обновление с пределом

20.11.2024, 21:41. Показов 506. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем привет! Какая конструкция будет работать в базах PostgreSQL и MySQL

SQL Скопировано
1
2
3
4
UPDATE cust
SET cust_num = 'New_num' 
WHERE cust_curd = 'black'
LIMIT 1;
или

SQL Скопировано
1
2
3
4
5
6
7
8
9
UPDATE cust
SET cust_num = 'New_num' 
WHERE cust_curd IN 
( 
  SELECT cust_curd 
  FROM cust
  WHERE cust_curd = 'black'
  LIMIT 1
);
Пример условный, объясню в чем суть, значение 'black' может быть уникальным может быть нет. Основная цель, снучайно потерялось WHERE, обновился весь столбец, этого допустить нельзя.
1. Придел LIMIT 1 как защита и убьётся всего одна строка.
2. Значение 'black' может быть не уникальным и обновятся все строки, а надо тольлько одну любую со значением 'black'

Проверить нет возможности, а на рабочей базе не рискую эксперементировать.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
20.11.2024, 21:41
Ответы с готовыми решениями:

Дедлоки между update limit N и update по primary key
Добрый день! Столкнулся с дедлоками, хотелось бы послушать опытных товарищей как с этим быть. Описание: Есть табличка CREATE...

update и limit
Здравствуйте! Был такой запрос: UPDATE `fruit` SET `order` = '1' WHERE `user_id` = 'b670b2a8d22fcff11da722d4833575ad' AND `id`...

Laravel 5 не работает limit для update
Нужно обновить первую подпадающую под условия запись, но метод limit не работает в связке с update. То есть код ниже обновить все записи,...

6
 Аватар для Аватар
3910 / 1423 / 500
Регистрация: 31.05.2012
Сообщений: 5,040
20.11.2024, 22:10
мускул 1-ый должен скушать, order by не помешало бы добавить, постгрес нет

лимит во 2-ом лишен смысла - сколько бы строк не вернул подзапрос все строки с cust_curd = 'black' в таблице обновятся
0
Айлурофил
 Аватар для Massaraksh7
493 / 426 / 110
Регистрация: 27.05.2017
Сообщений: 2,499
Записей в блоге: 5
20.11.2024, 22:13
Цитата Сообщение от aleks_des Посмотреть сообщение
Какая конструкция
Никакая.
Миниатюры
UPDATE и LIMIT обновление с пределом   UPDATE и LIMIT обновление с пределом  
0
 Аватар для Аватар
3910 / 1423 / 500
Регистрация: 31.05.2012
Сообщений: 5,040
20.11.2024, 22:20
во where условие по уникальному ключу что бы всю колонку не обновить. насчет всей колонки - что все обновления скриптами что ручками формируются? там конечно можно where потерять. если же программа мождет начудить - может выбросить ее сразу, а не тогда когда начудит?
0
194 / 13 / 3
Регистрация: 20.01.2015
Сообщений: 180
20.11.2024, 22:31  [ТС]
К базе будет подключаться Питон значение 'black' будет формироваться Питоном из получаемых данных не могу пока представить что может пойти не так в коде чтобы обновилась вся колонка, но это допустить нельзя, а текстиль запросы буду в ручную
пример переменной с текстом запроса:
Python Скопировано
1
2
3
4
qwr = f'''UPDATE cust
SET cust_num = 'New_num' 
WHERE cust_curd = '{num}'
LIMIT 1;'''
0
759 / 276 / 57
Регистрация: 01.06.2023
Сообщений: 762
20.11.2024, 23:52
SQL Скопировано
1
2
3
4
5
6
7
8
9
UPDATE cust
SET cust_num = 'New_num' 
WHERE tid IN 
( 
  SELECT tid
  FROM cust
  WHERE cust_curd = 'black'
  LIMIT 1
);
про системную колонку tid читаем тут

Цитата Сообщение от aleks_des Посмотреть сообщение
Проверить нет возможности, а на рабочей базе не рискую эксперементировать.
для этого можно экспериментировать в режиме транзакции, главное не забывать ее откатывать
0
Модератор
 Аватар для D1973
9786 / 6331 / 2444
Регистрация: 21.01.2014
Сообщений: 26,985
Записей в блоге: 3
21.11.2024, 07:12
Цитата Сообщение от aleks_des Посмотреть сообщение
а текстиль запросы буду в ручную
что-то смысл фразы полностью ускользает!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
21.11.2024, 07:12
Помогаю со студенческими работами здесь

Time limit: 1.00 s Memory limit: 512 MB A game has n rooms and m tunnels between them. Each room has a certain number of
Time limit: 1.00 s Memory limit: 512 MB A game has n rooms and m tunnels between them. Each room has a certain number of coins. What is...

Что значат Power Limit и Temperature Limit в GPU-Z?
Здравствуйте. Подскажите пожалуйста, кто разбирается в GPU-Z что это за показатели и как их расшифровать? Power Limit и Temperature Limit...

Обновление UPDATE
Есть две таблицы Institute (id_in, name_in) Center (id_cen, id_in, name_cen) AnsiString SQL1="UPDATE center SET...

Обновление Update
Помогите пожалуйста, чтот не получается произвести обновление, через UPDATE, таблицы, некоторые столбцы которой подсчитываются по значениям...

Обновление в 4-х таблицах (UPDATE)
Привет, мир! Архитекторы баз данных, подскажите пожалуйста, как реализовать обновление (UPDATE) в 4-х таблицах при помощи одного запроса?...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Типы в TypeScript
run.dev 18.04.2025
TypeScript представляет собой мощное расширение JavaScript, которое добавляет статическую типизацию в этот динамический язык. В JavaScript, где переменная может свободно менять тип в процессе. . .
Погружение в Kafka: Концепции и примеры на C# с ASP.NET Core
stackOverflow 18.04.2025
Apache Kafka изменила подход к обработке данных в распределенных системах. Эта платформа потоковой передачи данных выходит далеко за рамки обычной шины сообщений, предлагая мощные возможности,. . .
Коммуникация в реальном времени с SignalR в C# на примере создания чата
UnmanagedCoder 17.04.2025
Современный веб стремительно эволюционирует от статичных страниц к динамичным приложениям, где пользователи ожидают мгновенной реакции на свои действия. Представим, что вы отправляете сообщение. . .
Реализация CQRS с MediatR на C# .NET
stackOverflow 17.04.2025
Современная разработка программного обеспечения постоянно ищет пути повышения эффективности организации кода. Архитектурные паттерны появляются, эволюционируют, и те, что проявляют свою. . .
Verilog и интеллектуальная собственность - "глазами" обученной LM модели.
Hrethgir 17.04.2025
В сети встречаются участники, заявляющие что код на Verilog ни о чём не говорит. Но вот патентная практика на самом деле показывает обратное ими утверждаемому. То-есть код на Verilog включают в. . .
Свап-файл дополнительно к разделу (если вдруг не хватает или не создан)
jigi33 17.04.2025
ПОДКЛЮЧЕНИЕ ДОПОЛНИТЕЛЬНОГО SWAP ПРОСТРАНСТВА, Т. О. , РАСШИРЕНИЕ ЕГО РАЗМЕРА В Linux можно использовать как раздел подкачки (swap), так и файл подкачки (swap-файл). Чтобы создать swap-файл вместо. . .
Указатели в Swift: Небезопасные, буферные, необработанные и управляемые указатели
mobDevWorks 16.04.2025
Указатели относятся к наиболее сложным и мощным инструментам языка Swift. В своей сути указатель — это переменная, которая хранит адрес участка памяти, где расположены данные, а не сами данные. . . .
Жизненный цикл HTTP-запросов в ASP.NET Core MVC
UnmanagedCoder 16.04.2025
Разработка веб-приложений на ASP. NET MVC часто выглядит как простой процесс: получили запрос, обработали его в контроллере, отрендерили представление и отправили ответ пользователю. Однако за этой. . .
Введение в Django: Создаём приложение портфолио
py-thonny 16.04.2025
Django – один из самых мощных веб-фреймворков на Python, который позволяет быстро создавать сложные веб-приложения. В отличие от других фреймворков, Django предоставляет богатый набор встроенных. . .
Итераторы в C++: Продвинутые техники использования
bytestream 16.04.2025
Итераторы - одна из самых гибких и выразительных концепций в C++, позволяющих абстрагировать обход элементов контейнера от его внутренней реализации. За прошедшие годы они эволюционировали от простых. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru
Выделить код Копировать код Сохранить код Нормальный размер Увеличенный размер