Форум программистов, компьютерный форум, киберфорум
SQLite
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
76 / 32 / 11
Регистрация: 28.02.2011
Сообщений: 2,074

Удалить значения одного столбца

29.01.2026, 07:15. Показов 715. Ответов 21
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, как можно удалить значения во всех записях в одном столбце?
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
29.01.2026, 07:15
Ответы с готовыми решениями:

Вывод значения из одного столбца таблицы в 2 столбца другой таблицы
Есть 2 таблицы. Допустим, первая таблица мед. учреждения Med ( id, name, type ) , вторая накладная...

Как из одного столбца вывести значения в два столбца
Не могу никак разобраться, помогите пожалуйста.. Есть две таблицы: Team(id, name, captain,...

Как организовать ограничения на значения столбца таблицы, зависимые от значения другого столбца?
Допустим есть таблица со (прости Дейт) столбцами ID, Name, Type, SubType Причем, для каждого...

21
 Аватар для Дядя Виля
47 / 39 / 9
Регистрация: 12.06.2024
Сообщений: 179
29.01.2026, 09:36
Лучший ответ Сообщение было отмечено tmpnik1 как решение

Решение

SQL
1
UPDATE TABLE_NAME SET field_name = NULL
0
1741 / 1656 / 167
Регистрация: 25.07.2015
Сообщений: 2,717
29.01.2026, 10:40
Цитата Сообщение от Дядя Виля Посмотреть сообщение
UPDATE TABLE_NAME SET field_name = NULL
Это сработает , если на столбце нет ограничения NOT NULL.
0
1200 / 769 / 128
Регистрация: 10.03.2012
Сообщений: 4,968
29.01.2026, 11:05
Цитата Сообщение от Kulma Посмотреть сообщение
если на столбце нет ограничения NOT NULL.
Можно на значение пустой строки ''.
0
76 / 32 / 11
Регистрация: 28.02.2011
Сообщений: 2,074
29.01.2026, 13:04  [ТС]
Ни фига не получается, подошёл к конкретному примеру, надо сменить id(integer PRIMARY KEY AUTOINCREMENT NOT NULL)
но UPDATE TABLE_NAME SET id = id+1, надо начинать не с первой записи, а с последней
так как если имеется дырка в непрерывной последовательности id, то заменяется легко(например id=2 нет, тогда UPDATE TABLE_NAME SET id = id+1 where id=1 ошибки нет).
Как мне начать изменять последовательность id не с минимального id, а с максимального...
Вроде бы инкримент как-то убрать, изменить, потом вернуть... чё то не догоняю
0
Эксперт .NET
 Аватар для Usaga
14314 / 9399 / 1355
Регистрация: 21.01.2016
Сообщений: 35,450
29.01.2026, 13:17
Цитата Сообщение от tmpnik1 Посмотреть сообщение
надо сменить id(integer PRIMARY KEY AUTOINCREMENT NOT NULL)
Христа ради! Сколько форум этот существует, столько находятся светлые головы, которые хотят значения ключей править...

Не трогай это поле. Оно служебное. Не надо в наборе ID "дыры" латать. Они там никому не мешают.
1
 Аватар для Дядя Виля
47 / 39 / 9
Регистрация: 12.06.2024
Сообщений: 179
29.01.2026, 14:44
Цитата Сообщение от tmpnik1 Посмотреть сообщение
так как если имеется дырка в непрерывной последовательности id
кто-то уже с такой проблемой приходил, тогда я спросил - где вы работаете, что совсем нечем заняться?

Добавлено через 4 минуты
Цитата Сообщение от tmpnik1 Посмотреть сообщение
Ни фига не получается, подошёл к конкретному примеру, надо сменить id(integer PRIMARY KEY AUTOINCREMENT NOT NULL)
если уж совсем делать нечего и на этот id нет ссылок из других таблиц, то просто пересоздайте таблицу...
0
1741 / 1656 / 167
Регистрация: 25.07.2015
Сообщений: 2,717
29.01.2026, 17:38
Цитата Сообщение от Whitecolor Посмотреть сообщение
Можно на значение пустой строки ''
Можно, но в приведенном выше решении было SET field_name = NULL
Именно на это я и обратил внимание , говоря
Цитата Сообщение от Kulma Посмотреть сообщение
если на столбце нет ограничения NOT NULL
.

Цитата Сообщение от tmpnik1 Посмотреть сообщение
Ни фига не получается, подошёл к конкретному примеру, надо сменить id(integer PRIMARY KEY AUTOINCREMENT NOT NULL)
Что и следовало ожидать.

Цитата Сообщение от tmpnik1 Посмотреть сообщение
Как мне начать изменять последовательность id не с минимального id, а с максимального...
SQL
1
UPDATE TABLE_NAME SET id = (id+1) ORDER BY id DESC
Но , как вам уже выше написали, идея изменять вручную ключевое поле, да еще и инкрементное - так себе затея.
Тем паче "дыры" все равно появятся при работе с БД.
Ну и плюс ко всему вероятность нарушения целостности резко возрастает.
0
1200 / 769 / 128
Регистрация: 10.03.2012
Сообщений: 4,968
29.01.2026, 17:51
Проще всего наверное создать новую таблицу без этого столбца
0
1741 / 1656 / 167
Регистрация: 25.07.2015
Сообщений: 2,717
29.01.2026, 18:43
Whitecolor, если я правильно понимаю , то таблицы предопределены , исходя из другой темы ТС.
0
76 / 32 / 11
Регистрация: 28.02.2011
Сообщений: 2,074
30.01.2026, 06:33  [ТС]
Спасибо, да, таблицы предопределены. Но это ключевое инкрементное поле родительской таблицы, а две дочерние таблицы полем key_id связаны с этой таблицей по этому ключевому полю, поэтому увеличиваю id в родительской таблице на единицу, потом перейду в дочернею и также увеличу значение не инкрементного поля key_id на 1.

Добавлено через 1 час 17 минут
Правда тут маленькая проблема,
SQL
1
UPDATE TABLE_NAME SET id = (id+1) ORDER BY id DESC
Выдаёт в программе SQLite Expert почему то ошибку, видать в этой программе какие-то ограничения
пришлось немного подправить..
SQL
1
2
3
4
BEGIN
SELECT id FROM TABLE_NAME  ORDER BY `id` DESC LIMIT 1
UPDATE TABLE_NAME SET id = id+максимальное число с предыдущего запроса
UPDATE TABLE_NAME SET id = id-максимальное число с предыдущего запроса-1
Но опять тут вопрос.. как в первом запросе вывод направить в переменную и потом эту переменную передать во второй запрос и как первый и второй запрос объединить.
0
1741 / 1656 / 167
Регистрация: 25.07.2015
Сообщений: 2,717
30.01.2026, 07:17
Цитата Сообщение от tmpnik1 Посмотреть сообщение
Но это ключевое инкрементное поле родительской таблицы, а две дочерние таблицы полем key_id связаны с этой таблицей по этому ключевому полю

Надеюсь у вас есть архив , т.к. вы своими действиями сейчас можете обрушить все связи ?
Если же шаловливые ручонки все-таки покоя не дают , то делается это с точностью
до наоборот - сначала меняются записи в дочерней таблице , потом в родительской.

Цитата Сообщение от tmpnik1 Посмотреть сообщение
Выдаёт в программе SQLite Expert почему то ошибку, видать в этой программе какие-то ограничения
Разумеется, т.к. к записям родительской таблицы привязаны записи дочерней.
Например : есть ящик (родительская таблица) , в нем лежат яблоко, апельсин, банан (дочерняя таблица)
Вы пытаетесь переименовать/убрать/починить ящик , не удалив из него содержимое.
Не самый лучший пример, но первое , что пришло в голову.
Поэтому
вариант 1, все изменения в дочерней, потом изменения в родительской
вариант 2, убираете связи между таблицами и меняете что хотите и где хотите.
Но , если в первой варианте вероятность сохранить целостность БД хоть мала , но есть,
то во втором практически на 100% вы ее обрушите, т.к. вы собрались менять святая святых - ключи.

Эти записи (ключи) вообще не для вас, это внутренняя структура согласованности БД,
с помощью которой осуществляется ее целостность.
1
76 / 32 / 11
Регистрация: 28.02.2011
Сообщений: 2,074
30.01.2026, 07:44  [ТС]
Спасибо, теорию оставим теоретикам, практика как-то ближе.. :-)
Методом проб и ошибок всё нормально переводится и туда и сюда, автокримент просто отдыхает :-)
SQL
1
UPDATE TABLE_NAME SET id = id+(SELECT id FROM TABLE_NAME  ORDER BY `id` DESC LIMIT 1)
0
Эксперт .NET
 Аватар для Usaga
14314 / 9399 / 1355
Регистрация: 21.01.2016
Сообщений: 35,450
30.01.2026, 10:37
Цитата Сообщение от tmpnik1 Посмотреть сообщение
автокримент просто отдыхает
А логика этого отдыха в чём?..
0
76 / 32 / 11
Регистрация: 28.02.2011
Сообщений: 2,074
30.01.2026, 11:38  [ТС]
Если в начале проблемы я не мог вставить запись куда угодно из-за свойства поля автоинкремента, то сейчас этой проблемы нет, куда угодно могу вставить запись, естественно целостность бд, чтоб не было потерянных записей, я контролирую сам.
0
1741 / 1656 / 167
Регистрация: 25.07.2015
Сообщений: 2,717
30.01.2026, 11:54
Цитата Сообщение от tmpnik1 Посмотреть сообщение
я не мог вставить запись куда угодно из-за свойства поля автоинкремента
Заблуждаетесь.
Автоинкремент не ограничивает поле никак, вы можете вставлять в это поле любые записи , соответствующие по типу.
Он отвечает только за приращение номера следующей записи на установленное значение ,всё.
Вероятно вы не могли вставлять/изменять записи из-за существующих связей или каких то еще
ограничений , влияющих на целостность данных. Но это точно не автоинкремент.
1
Эксперт .NET
 Аватар для Usaga
14314 / 9399 / 1355
Регистрация: 21.01.2016
Сообщений: 35,450
30.01.2026, 12:10
Цитата Сообщение от tmpnik1 Посмотреть сообщение
я не мог вставить запись куда угодно из-за свойства поля автоинкремента
Что ты под этим подразумеваешь? Я про "куда угодно". Ты правда думаешь, в базе строки раздвигаются и между ними втыкается твоя новая запись?
0
76 / 32 / 11
Регистрация: 28.02.2011
Сообщений: 2,074
30.01.2026, 12:23  [ТС]
Я не дока в этом деле, поэтому согласен со всеми утверждениями..
просто id(integer PRIMARY KEY AUTOINCREMENT NOT NULL) и вставляя запись с id=1, когда существует в этом поле значение 1
я получаю ошибку не уникальности
Название: Снимок экрана 2026-01-30 161632.jpg
Просмотров: 41

Размер: 9.8 Кб
Отодвигая определённое количество записей в этой же таблице на свободные номера ключевого поля, и вставляя запись с id=1, я не получаю ошибки..
0
 Аватар для Дядя Виля
47 / 39 / 9
Регистрация: 12.06.2024
Сообщений: 179
30.01.2026, 12:30
по моему автор уже просто троллит...
0
Эксперт .NET
 Аватар для Usaga
14314 / 9399 / 1355
Регистрация: 21.01.2016
Сообщений: 35,450
30.01.2026, 12:32
Цитата Сообщение от tmpnik1 Посмотреть сообщение
просто id(integer PRIMARY KEY AUTOINCREMENT NOT NULL) и вставляя запись с id=1, когда существует в этом поле значение 1
я получаю ошибку не уникальности
Зачем ты ID вставляешь, если за это отвечает автоинкремент? Чтобы что?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
30.01.2026, 12:32
Помогаю со студенческими работами здесь

Запрос: выбрать строки 1 столбца в зависимости от значений 1 столбца и 2 столбца
Здравствуйте. Прошу помочь в создании запроса. Название таблицы: Экзамены Столбцы таблицы: №...

Вывод результатов из одной таблицы и одного столбца в два разных столбца
Ребят помогите, измучалась совсем, не знаю как решить. Есть таблица Таблица t2 Id Pid ...

Значение одного столбца = значению другого столбца
SELECT FROM WHERE значение одного столбца = значению другого столбца ; Как построить этот запрос...

Как сделать выбор данных одного столбца из нескольких таблиц, если имя этого столбца везде совпадает?
Подскажите, как сделать выбор данных одного столбца из нескольких таблиц, если имя этого столбца...

Зависимость одного столбца от другого столбца в одной таблице
Здравствуйте! Помогите с решением задачи (приложил). В 1-ом задание есть пункт в конце "ID_Parent...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru