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

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

Вернуться   Форум программистов > Web программирование > SQL, базы данных
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.09.2013, 17:36   #1
Vohakisa
Пользователь
 
Регистрация: 11.05.2009
Сообщений: 47
По умолчанию Формат времени (hh:mi) и его автодобавление

СУБД MySQL

Создаю чат на сайте. Для хранения данных использую MySQL. Вот запрос на создание таблицы:
Код:
CREATE TABLE chat(id_chat SMALLINT NOT NULL AUTO_INCREMENT PRIMARY KEY,
nick VARCHAR(16) NOT NULL,
message VARCHAR(127) NOT NULL,
time_msg TIME NOT NULL
)
Не подскажите, как сделать, чтобы время хранилось в базе в формате hh:mi (на данный момент hh:mi:ss) и чтобы при добавлении записи, время бралось системное с помощью функций СУБД, а не приходилось присылать его вместе с данными полей nick и message.

На данный момент, для внесения всех этих данных, использую запрос:
Код:
INSERT INTO chat (`nick`, `message`, `time_msg`) VALUES ('qwer', 'erwrwer', CURTIME());
Функция CURTIME() как раз берёт системное время и сохраняет его, но мне не хочется постоянно вызывать её в запросе INSERT, хочу раз задать его в запросе CREATE и забыть.
Vohakisa вне форума Ответить с цитированием
Старый 16.09.2013, 18:39   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

По-моему в MySQL нельзя использовать функцию для DEFAULT значения поля. Если так, то только в триггере на вставку

PS

Забыл про TIMESTAMP: для первого столбца TIMESTAMP значение по умолчанию текущее дата-временя, ток не присваивать ему значение в INSERT-е
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 16.09.2013 в 18:56.
Аватар вне форума Ответить с цитированием
Старый 16.09.2013, 19:24   #3
Vohakisa
Пользователь
 
Регистрация: 11.05.2009
Сообщений: 47
По умолчанию

Ясно, мне не подходит, а как задать формат времени hh:mi не подскажите?
Vohakisa вне форума Ответить с цитированием
Старый 17.09.2013, 01:08   #4
Vapaamies
Ваш К. О.
Участник клуба
 
Аватар для Vapaamies
 
Регистрация: 26.12.2012
Сообщений: 1,755
По умолчанию

На самом деле время нужно хранить как есть, а выводить с нужным округлением. Минута -- это достаточно, чтобы несколько человек нафлудило.
Vapaamies вне форума Ответить с цитированием
Старый 17.09.2013, 12:27   #5
Vohakisa
Пользователь
 
Регистрация: 11.05.2009
Сообщений: 47
По умолчанию

А как округлить до часы:минуты не подскажите, а то я PHP только не давно начал учить, с форматом дата/время не сталкивался, как в прочем и с округлением.
Vohakisa вне форума Ответить с цитированием
Старый 17.09.2013, 12:39   #6
Vohakisa
Пользователь
 
Регистрация: 11.05.2009
Сообщений: 47
По умолчанию

Цитата:
Сообщение от Vapaamies Посмотреть сообщение
На самом деле время нужно хранить как есть, а выводить с нужным округлением. Минута -- это достаточно, чтобы несколько человек нафлудило.
Да, спасибо и вправду не подумал сразу.

А как округлить до часы:минуты не подскажите, а то я PHP только не давно начал учить, с форматом дата/время не сталкивался, как в прочем и с округлением. Хотя, извиняюсь, вопрос уже не по разделу.

Последний раз редактировалось Vohakisa; 17.09.2013 в 12:44.
Vohakisa вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как преобразовать формат времени в числовой формат solnce60 Microsoft Office Excel 1 28.04.2013 11:16
Формат времени Protuberanez Microsoft Office Access 1 11.07.2012 19:11
Формат времени Nebojitel Microsoft Office Excel 7 27.05.2011 22:19
Формат времени ruavia3 Microsoft Office Excel 3 15.03.2010 11:30
Формат времени artemavd Общие вопросы Delphi 6 22.09.2009 15:23