194 / 13 / 3
Регистрация: 20.01.2015
Сообщений: 180

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

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

Студворк — интернет-сервис помощи студентам
Всем привет! Какая конструкция будет работать в базах 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
 Аватар для Аватар
5393 / 1465 / 513
Регистрация: 31.05.2012
Сообщений: 5,153
20.11.2024, 22:10
мускул 1-ый должен скушать, order by не помешало бы добавить, постгрес нет

лимит во 2-ом лишен смысла - сколько бы строк не вернул подзапрос все строки с cust_curd = 'black' в таблице обновятся
0
Айлурофил
 Аватар для Massaraksh7
509 / 441 / 111
Регистрация: 27.05.2017
Сообщений: 2,647
Записей в блоге: 5
20.11.2024, 22:13
Цитата Сообщение от aleks_des Посмотреть сообщение
Какая конструкция
Никакая.
Миниатюры
UPDATE и LIMIT обновление с пределом   UPDATE и LIMIT обновление с пределом  
0
 Аватар для Аватар
5393 / 1465 / 513
Регистрация: 31.05.2012
Сообщений: 5,153
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
912 / 286 / 57
Регистрация: 01.06.2023
Сообщений: 804
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
9905 / 6442 / 2455
Регистрация: 21.01.2014
Сообщений: 27,344
Записей в блоге: 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
Ответ Создать тему
Опции темы

Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru