Форум программистов, компьютерный форум, киберфорум
MySQL
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 22.02.2013
Сообщений: 34

Обновлять базу, затирая первые старые данные

20.02.2023, 17:57. Показов 1716. Ответов 26

Студворк — интернет-сервис помощи студентам
вопрос как элегантно добавляя в базу данные , не давать ей разрастаться - удаляя лишние первые записи, при этом чтоб индекс ключа оставался прежним? скажем есть таблица
SQL
1
2
3
4
5
6
7
8
9
+--------+--------+-----------+
| key_id | price    |  DATE       |
+--------+--------+------------+
|       1   | 15890 |  16.02.03 |
|       2   | 31990 |  17.02.03 |
|       3   |  3190  |  18.02.03 |
|       4   |  1800  |  19.02.03 |
|       5   |   850   |  20.02.03 |
+--------+--------+------------+
командой INSERT INTO я добавляю новую строку данных и получаю

SQL
1
2
3
4
5
6
7
8
9
10
+--------+--------+-----------+
| key_id | price    |  DATE       |
+--------+--------+------------+
|       1   | 15890 |  16.02.03 |
|       2   | 31990 |  17.02.03 |
|       3   |  3190  |  18.02.03 |
|       4   |  1800  |  19.02.03 |
|       5   |   850   |  20.02.03 |
|       6   |   360   |  21.02.03 |
+--------+--------+------------+
а хотелось бы увидеть удаление первой строки но сохранить ключи
SQL
1
2
3
4
5
6
7
8
9
+--------+--------+-----------+
| key_id | price    |  DATE       |
+--------+--------+------------+
|       1   | 31990 |  17.02.03 |
|       2   |  3190  |  18.02.03 |
|       3   |  1800  |  19.02.03 |
|       4   |   850   |  20.02.03 |
|       5   |   360   |  21.02.03 |
+--------+--------+------------+
подскажите в каком напровлении искать, я даже не знаю как это процесс обозначить в поискавиках
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
20.02.2023, 17:57
Ответы с готовыми решениями:

Уменьшить базу, удалив старые, исторические данные
В жалких попытках уменьшить базу, что мне не советуют на данном форуме и во всех темах и направляют меня на изучение более полезных для...

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

Записать данные в файл, не затирая то что в нем было
Всем привет. Подскажите как дописать данные в файл, не затирая то что в нем было? пробовал так: Memo2.Lines.SaveToFile('1.txt'); ...

26
0 / 0 / 0
Регистрация: 22.02.2013
Сообщений: 34
24.02.2023, 19:28  [ТС]
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Gluck99 Посмотреть сообщение
Вы тут весёлым троллингом занимаетесь или действительно возомнили о себе бог знает что?
И в мыслях не было! Я на этот сайт исключительно, заходил для решения вопросов которые не мог найти в гугл, либо в свете моей малограмотности, не мог понять в каком направлении искать! Если я позволил вольность хвастаться, то лишь подчеркнув, что решение своего вопроса решил самостоятельно и не более. И благодаря данным форумам я самостоятельно освоил: VB.NET, php, html, работу с настройками сервера и по чуть работу с базами данных ... хотя в последнее время склоняюсь в изучение графовых баз данных.
0
 Аватар для Аватар
5393 / 1465 / 513
Регистрация: 31.05.2012
Сообщений: 5,153
24.02.2023, 19:40
Цитата Сообщение от Kulma Посмотреть сообщение
Если он не привязан к другим таблицам и вы его планируете менять от вольного
то зачем он нужен ?
ну не совсем же все так просто. вот табличка без ключа и с одним полем и две идентичные записи. как обновить только одну из них без ключа, не важно суррогатного или естественного?
1
0 / 0 / 0
Регистрация: 22.02.2013
Сообщений: 34
24.02.2023, 19:40  [ТС]
Цитата Сообщение от Kulma Посмотреть сообщение
Можно.
Первичный ключ-идентификатор записи.Если он не привязан к другим таблицам и вы его планируете менять от вольного
то зачем он нужен ?
возможно я не понимаю, но мне всегда говорили что в таблице должен быть хоть один ключ идентификатор. А вы предлагаете
конструкцию
SQL
1
2
3
4
5
6
7
8
9
+--------+-----------+
| price   |  DATE       |
+-------+------------+
| 31990 |  17.02.03 |
|  3190  |  18.02.03 |
|  1800  |  19.02.03 |
|   850   |  20.02.03 |
|   360   |  21.02.03 |
+--------+-----------+
или как в моем случае
SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
+-------+--------+-----------+
|  code  | price   |  DATE       |
+-------+-------+------------+
|    sin   | 3199  |  17.02.03 |
|    cra   | 3239  |  17.02.03 |
|    pre   | 3449  |  17.02.03 |
|    sin   |  2180  |  18.02.03 |
|    cra   |  2170  |  18.02.03 |
|    pre   |  2195  |  18.02.03 |
|    sin   |  1780  |  19.02.03 |
|    cra   |  1820  |  19.02.03 |
|    pre   |  1910  |  19.02.03 |
+-------+--------+-----------+
или я не правильно понимаю?
0
 Аватар для Аватар
5393 / 1465 / 513
Регистрация: 31.05.2012
Сообщений: 5,153
24.02.2023, 19:42
в этом случае дата может быть естественным ключем, если она не повторяется конечно
0
408 / 242 / 88
Регистрация: 28.04.2022
Сообщений: 1,207
24.02.2023, 21:13
Цитата Сообщение от Аватар Посмотреть сообщение
ну не совсем же все так просто. вот табличка без ключа и с одним полем и две идентичные записи. как обновить только одну из них без ключа, не важно суррогатного или естественного?
У ТС ключ не связан ни с датой, ни с ценой. При этом ни дата, ни цена не обновляются - иначе непонятно зачем добавлять новые записи с новыми ценами и датой. Это первое.
Второе, ключ можно задать по двум полям - по дате (или по дате + время) и по коду товара. Тогда у нас будет жесткая конструкция и всегда будет понятно, на какую дату/время какой товар имел какую цену.
Цитата Сообщение от invader Посмотреть сообщение
решение своего вопроса
На самом деле, у вас не было проблемы. Вы её сами выдумали и сами "решили". Сам пошутил - сам смеюсь. Самообслуживание.
0
 Аватар для Аватар
5393 / 1465 / 513
Регистрация: 31.05.2012
Сообщений: 5,153
24.02.2023, 21:31
Цитата Сообщение от Gluck99 Посмотреть сообщение
ключ можно задать по двум полям
я проглядел, конечно составной ключ)
0
0 / 0 / 0
Регистрация: 22.02.2013
Сообщений: 34
25.02.2023, 02:32  [ТС]
И так , мой модуль это график трёх валют , за неделю, за месяц за год. Однажды скачав с нацбанка 365х3=1095 запросов, оформил базу, и теперь не нагружая сервер банка просто обновляю базу каждый день, всего тремя запросами. Дата как и цена -( курс) обновляются каждый день и при добавлении в таблицу все смещаются вниз, с удалением древних не нужных данных - обычная практика как выяснилась в программировании матриц , комбинированный ключ ну не знаю, мой код кажется лаконичным, но не идеальным конечно. Да и по планам это был эксперимент для дальнейших таблиц: погоды, ветров , давления солнечного ветра за год на поверхность океана...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
25.02.2023, 02:32

Вывести новые данные "перекрывающие" старые, не выводя старые
Добрый вечер! Описание можно пропустить и читать сразу, что под спойлером Есть две таблицы. В одной задаются программы работы, в...

Как автоматически обновлять базу данных!
Есть програма которая записывает в файл номера входящих звонков. Нужно чтобы открытый броузер брал список номеров из файла и заносил его...

SQL подключение со временем перестает обновлять базу
Всем привет! У меня вопрос, связанный с SQL запросами. На сервере лежит xlsx файл с общим доступом (без хранения истории), к...

Как обновлять базу данных после редактирования DataGrid?
(Использую локальную базу данных). Создал переменные: SqlConnection EditTableCon; SqlDataAdapter EditTableAdap; DataTable...

Авто-обновление программы с БД SQLite: как обновлять базу
Привет всем. Посоветуйте пожалуйста с реализацией такой задачи. Есть программа которая работает с базой SQLite. Нужно сделать, чтобы...


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

Или воспользуйтесь поиском по форуму:
27
Ответ Создать тему
Новые блоги и статьи
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru