Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.08.2016, 19:29   #1
KBO
Форумчанин
 
Регистрация: 11.06.2010
Сообщений: 525
По умолчанию MySQL: Правильно обновить данные после вставки

Доброе время суток

Есть таблица
Код:
id   date           year_month
1   2016-08-25        201608
При вставки записи (с приложения/клиента), я заполняю поле «date».
Вопрос:
Существует возможность атоматом (на стороне сервера) как-нибудь заполнить поле «year_month» (тип INT), после заполнения «date»? если в этом поле должно отображаться «месяц» и «год», если триггером этого сделать не выйдет.
Или всетаки это должен делать клиент.

Заранее спасибо
P.S.
Я знаю... еще есть функции "year" и "month" (для разбивки на год и месяц). Мне нужно поле «year_month», для вывода на страничку "Архива" данных, где отображается только "год" и "месяц", и потом легче делать выборку (для показа), данных за месяц, т.е. соответствующую ссылку делать на страничке
KBO вне форума Ответить с цитированием
Старый 25.08.2016, 19:46   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Триггером. Ну только идея насчет такого вычисляемого поля так себе, со знаком минус. Запросом делай, можно и вьюху использовать. А выборку делай date between '2016-03-01' AND '2016-03-31'. Если там время еще, то between не очень. И индекс отработает, если он есть по той дате
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 25.08.2016 в 20:09.
Аватар вне форума Ответить с цитированием
Старый 25.08.2016, 21:33   #3
KBO
Форумчанин
 
Регистрация: 11.06.2010
Сообщений: 525
По умолчанию

Та я б с радостью, но я id и так в html формирую.
А вы мне предлагаете, каким то образом, например диапзон (['2016-03-01' AND '2016-03-31']) формировать.
и передавать в контроллер, (т.к. я использую framework)
а так, я думал сразу привязывать статью к определенному году и месяцу

Последний раз редактировалось KBO; 25.08.2016 в 21:36.
KBO вне форума Ответить с цитированием
Старый 25.08.2016, 21:51   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

А формирование диапазона неподъемно?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 25.08.2016, 22:22   #5
KBO
Форумчанин
 
Регистрация: 11.06.2010
Сообщений: 525
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
А формирование диапазона неподъемно?
Ну это , я так палагаю в контроллере формировать ассоциативный массив, ключем которого будет например год*мечсяц, а значение диапазон в месяц, допусти 01.01.2016-31.01.2016, передавать его в view (сформируется соответствующий html).... При выборе месяца пользователем, в качестве параметра в адресной строке передавать его опять в контроллер, выполнять запрос... Бр-р-р.
Помоему с доп. полем проще
KBO вне форума Ответить с цитированием
Старый 26.08.2016, 14:26   #6
KBO
Форумчанин
 
Регистрация: 11.06.2010
Сообщений: 525
По умолчанию

Да, действительно, помогла обычная "view" (созданное с тем полем, которое мне нужно).
Только еще одно, "view" - должно быть в БД на постоянной основе, или его нужно все время создавать, читать от туда данные, а потом опять "убивать"?
KBO вне форума Ответить с цитированием
Старый 26.08.2016, 14:33   #7
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
должно быть в БД на постоянной основе, или его нужно все время создавать, читать от туда данные, а потом опять "убивать"?
имхо, не нужно его пересоздавать. оно перечитывается каждый раз при выборке данных из него.
считайте, что вьюха - это просто сохранённый запрос в БД.
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Макрос вставки после каждого слова. Demetros Microsoft Office Word 2 15.12.2014 23:04
Обновить страницу после закрытия модального окна Swatch JavaScript, Ajax 0 07.08.2013 09:36
ADOQuery не могу правильно получить данные после SELECT bakanaev Общие вопросы Delphi 3 16.03.2013 23:27
Обновить данные в DBGRID sl963 БД в Delphi 7 04.06.2010 18:06
Обновить табличные данные в Exel Прохор Microsoft Office Excel 6 27.04.2010 16:18