powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Триггерочек
10 сообщений из 10, страница 1 из 1
Триггерочек
    #39632979
TSP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TSP
Гость
Приветствую всех.
Ситуация: нужно автозаполнение даты, времени, времени + 1.5 часа. Сделал триггер на insert. Но он выдаёт 1111. В cmd выполняет нормально.


CREATE TRIGGER date_time_insert
before insert
on orders
for each row
set
New.order_date = curdate(),
New.order_time = curtime(),
-- New.order_delivery = sec_to_time(sum(time_to_sec(curtime()) + time_to_sec('01:30:00'))),
New.order_status = 'accept';


Такая форма записи запроса (простите, 1.5 недели знакомства с mysql) появилась из-за появления точности в секундах (если делать time_to_sec('01:30:00') := '5400'),но как я понял из мануала, это прикол самой curtime.

P.S. И есть вопросик по одному запросу, который нужно выполнить, ибо не знаю, правильно ли понял принцип select'a.
Ситуация: вывести 10 самых быстрых заказов.

Select * from orders
where (
-- высчитывает все разности
-- строит табличку этим разностям от малого к большому (group by???)
-- режет до 10
)
...
Рейтинг: 0 / 0
Триггерочек
    #39633160
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
NEW.order_delivery = CURTIME() + INTERVAL '1:30' HOUR_MINUTE
...
Рейтинг: 0 / 0
Триггерочек
    #39633161
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TSPСитуация: вывести 10 самых быстрых заказов.
FAQ: Выборка нескольких последних записей в неких группах .
...
Рейтинг: 0 / 0
Триггерочек
    #39634535
TSP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TSP
Гость
Спасибо, теперь вопрос в том, что при "22:30+" не происходит сброса в 00, при приращении времени данной строкой.
В таблице формат time.
...
Рейтинг: 0 / 0
Триггерочек
    #39634541
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TSPвопрос в том, что при "22:30+" не происходит сброса в 00, при приращении времени данной строкой.А должен?

Вообще правильнее имхо так:

Код: sql
1.
2.
3.
4.
SET New.order_date = DATE(@now := SYSDATE()),
    New.order_time = TIME(@now),
    New.order_delivery = TIME(@now + INTERVAL '1:30' HOUR_MINUTE),
-- и т.п.
...
Рейтинг: 0 / 0
Триггерочек
    #39634557
TSP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TSP
Гость
Ну как бы да должен, как в реальной жизни? Доставка выходит на след сутки, если заказ был на эти.
...
Рейтинг: 0 / 0
Триггерочек
    #39634558
TSP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TSP
Гость
авторА должен?

Вообще правильнее имхо так:
...
Рейтинг: 0 / 0
Триггерочек
    #39634560
TSP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TSP
Гость
AkinaSET New.order_date = DATE(@now := SYSDATE()),
New.order_time = TIME(@now),
New.order_delivery = TIME(@now + INTERVAL '1:30' HOUR_MINUTE),
-- и т.п.


т.е. интерпретатору надо всё указывать явно?
...
Рейтинг: 0 / 0
Триггерочек
    #39634564
TSP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TSP
Гость
Ну и на "заедочку", ещё один триггер на after update:

проверяет поле, при выполнении условия читает ещё два поля ("название пиццы", "размер") и загружает в "цену" значение "цены" со второй таблицы с такими же "название пиццы", "размер".
...
Рейтинг: 0 / 0
Триггерочек
    #39634582
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TSPНу как бы да должен, как в реальной жизни? Доставка выходит на след сутки, если заказ был на эти.збс... и где ж ты дату этой доставки на следующие сутки хранишь-то? а нигде... и есть у тебя одна-единственная дата - дата заказа.
Кстати, а на зачем вообще потребовалось делить точку заказа на два поля? чтобы потом себе геморрою поиметь?
TSPт.е. интерпретатору надо всё указывать явно?Машина - дура. И делает лишь то, что ты ей скажешь. К слову - не то, что ты хочешь, а именно то, что скажешь, а это не всегда одно и то же, увы...
TSPещё один триггер на after updateЧто-то у тебя куда не плюнь - всё, что можно рассчитывать. когда потребуется, зачем-то рассчитывается предварительно. Плохо это.
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Триггерочек
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]