![]() |
Модераторы: skyboy |
![]() ![]() ![]() |
|
MeIsGremlin |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 172 Регистрация: 2.12.2005 Где: Киев Репутация: нет Всего: нет |
как можно у поля с типом DATETIME сделать по умолчанию ввод текущей даты?
--------------------
mess with the best die like the rest |
|||
|
||||
Feldmarschall |
|
|||
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 3 Всего: 32 |
Зависит от версии. В старых нельзя было, а в пятерке что-то намудрили, кажется.
Но лично я делаю по-старинке, в запросе. Никаких неудобств при этом не испытываю. |
|||
|
||||
skyboy |
|
|||
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 41 Всего: 260 |
для TIMESTAMP - "DEFAULT CURRENT_TIMESTAMP". и "ON UPDATE CURRENT_TIMESTAMP"
или именно для DATETIME надобно? |
|||
|
||||
MeIsGremlin |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 172 Регистрация: 2.12.2005 Где: Киев Репутация: нет Всего: нет |
Я сделал поле таймстамп и поставил по умолчанию CURRENT_TIMESTAMP. Читал доку, там написано что для datetime нельзя указать в default функцию или выражение. Можно только константу. Вот думал может кто знает как обойти это. Мне в данном случае подойдет TIMESTAMP так как просто надо дату регистрации вносить. А вот если timestamp не подойдет и надо будет использовать именно datetime то не знаю как выкрутиться
--------------------
mess with the best die like the rest |
|||
|
||||
Feldmarschall |
|
|||
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 3 Всего: 32 |
Это проблема из тех, которые люди выдумывают себе сами. Откуда здесь надо "выкручиваться"? Что "обойти"?
Запрос на добавление записи в таблицу при регистрации пишет программист. И даже если он не знает про функцию CURDATE(), то уж date() в PHP ему известно? И что мешает вписать эту константу не в определение таблицы, а в запрос? |
|||
|
||||
Бонифаций |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 827 Регистрация: 15.9.2005 Где: Brisbane Репутация: 20 Всего: 40 |
А что такого можно делать с datetime чего нельзя с timestamp?
-------------------- Бонифаций. |
|||
|
||||
MeIsGremlin |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 172 Регистрация: 2.12.2005 Где: Киев Репутация: нет Всего: нет |
в timestamp ты не укажешь время раньше 1970 года.
Добавлено через 1 минуту и 13 секунд
хочу перенести эти обязанности на СУБД --------------------
mess with the best die like the rest |
|||
|
||||
Feldmarschall |
|
|||
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 3 Всего: 32 |
Напиши сторед процедуру.
"хочу перенести эти обязанности на СУБД". Это бессмысленное заявление. Желания должны быть осмысленными, а не от левой пятки. А я хочу, чтобы база мне всю страницу в одном запросе возвращала. Опросы, новости, авторизацию, А чо? Убью пару месяцев, и получу желаемое. Останется только один вопрос - з а ч е м. Зачем мне это все. Ты потратил на эту тему уже столько времени, чтобы написать сто запросов с NOW(). И ккоторое мог потратить на куда более важные вещи - оптимизацию, обработку ошибок, нормализацию БД. У тебя БД нормализована? |
|||
|
||||
MeIsGremlin |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 172 Регистрация: 2.12.2005 Где: Киев Репутация: нет Всего: нет |
Целостность данных должна быть перенесена на СУРБД максимально возможным способом и максимально снята с программы, дабы упростить ее алгоритм. Первичные и вторичные ключи, нормализация, тригеры и все шаги проектирования баз данных должны быть. Да, я могу всю жизнь писать тысячи запросов и продумывать программные алгоритмы корректного добавления и удаления данных, дат, писать парсеры и валидацию так как мне это видней, а могу потратить несколько дней на то чтоб выяснить некоторые вещи которые потом сэкономят мне время, затраты и упростят разработку и сделают ее более правильной и профессиональной, не изобретая каждый раз велосипед. Но тема то не об этом. Если вам нечего добавить, просто промолчите.
Это сообщение отредактировал(а) MeIsGremlin - 25.4.2008, 00:41 --------------------
mess with the best die like the rest |
|||
|
||||
Feldmarschall |
|
|||
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 3 Всего: 32 |
Читая столь пафосные тексты от человека, который не может прочесть пару страниц документации, уменя не получается им верить. Неувязочка получается.
|
|||
|
||||
Бонифаций |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 827 Регистрация: 15.9.2005 Где: Brisbane Репутация: 20 Всего: 40 |
?? -------------------- Бонифаций. |
|||
|
||||
skyboy |
|
|||
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 41 Всего: 260 |
Бонифаций, ему надо регистрировать людей задним числом
![]() да ради Бога. ставишь MySQL версией выше 5.0 и используешь триггеры. красиво сказал. но непонятно. фанатизм тут излишен. MySQL, к примеру, ничего не знает о GMT сервера, на которой установлена. потому, если ты захочешь сделать распределение нагрузки по серверам, расположенным в разных временных зонах(ну, пример, возможно, и надуманный немного), то твое "время регистрации" надо будет уже предварительно обрабатывать на стороне того же PHP(кто в курсе о используемом GMT). А, значит, твое "максимальное снятие нагрузки с программы" вылезет боком. |
|||
|
||||
![]() ![]() ![]() |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | MySQL | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |