Модераторы: skyboy
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> default now 
:(
    Опции темы
MeIsGremlin
  Дата 23.4.2008, 16:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 172
Регистрация: 2.12.2005
Где: Киев

Репутация: нет
Всего: нет



как можно у поля с типом DATETIME сделать по умолчанию ввод текущей даты?
--------------------
mess with the best die like the rest 
PM MAIL ICQ Skype GTalk MSN   Вверх
Feldmarschall
Дата 23.4.2008, 16:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: 3
Всего: 32



Зависит от версии. В старых нельзя было, а в пятерке что-то намудрили, кажется. 
Но лично я делаю по-старинке, в запросе. Никаких неудобств при этом не испытываю.
PM   Вверх
skyboy
Дата 24.4.2008, 00:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 41
Всего: 260



для TIMESTAMP - "DEFAULT CURRENT_TIMESTAMP". и "ON UPDATE CURRENT_TIMESTAMP"
или именно для DATETIME надобно?
PM MAIL   Вверх
MeIsGremlin
Дата 24.4.2008, 01:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 172
Регистрация: 2.12.2005
Где: Киев

Репутация: нет
Всего: нет



Я сделал поле таймстамп и поставил по умолчанию CURRENT_TIMESTAMP. Читал доку, там написано что для datetime нельзя указать в default функцию или выражение. Можно только константу. Вот думал может кто знает как обойти это. Мне в данном случае подойдет TIMESTAMP так как просто надо дату регистрации вносить. А вот если timestamp не подойдет и надо будет использовать именно datetime то не знаю как выкрутиться
--------------------
mess with the best die like the rest 
PM MAIL ICQ Skype GTalk MSN   Вверх
Feldmarschall
Дата 24.4.2008, 07:35 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: 3
Всего: 32



Это проблема из тех, которые люди выдумывают себе сами. Откуда здесь надо "выкручиваться"? Что "обойти"?
Запрос на добавление записи в таблицу при регистрации пишет программист. И даже если он не знает про функцию CURDATE(), то уж date() в PHP ему известно? И что мешает вписать эту константу не в определение таблицы, а в запрос?
PM   Вверх
Бонифаций
Дата 24.4.2008, 15:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 827
Регистрация: 15.9.2005
Где: Brisbane

Репутация: 20
Всего: 40



А что такого можно делать с datetime чего нельзя с timestamp?


--------------------
 Бонифаций.
 
PM MAIL ICQ Skype GTalk Jabber YIM   Вверх
MeIsGremlin
Дата 24.4.2008, 16:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 172
Регистрация: 2.12.2005
Где: Киев

Репутация: нет
Всего: нет



в timestamp ты не укажешь время раньше 1970 года.

Добавлено через 1 минуту и 13 секунд
Цитата(Feldmarschall @ 24.4.2008,  07:35)
Это проблема из тех, которые люди выдумывают себе сами. Откуда здесь надо "выкручиваться"? Что "обойти"?
Запрос на добавление записи в таблицу при регистрации пишет программист. И даже если он не знает про функцию CURDATE(), то уж date() в PHP ему известно? И что мешает вписать эту константу не в определение таблицы, а в запрос?

хочу перенести эти обязанности на СУБД
--------------------
mess with the best die like the rest 
PM MAIL ICQ Skype GTalk MSN   Вверх
Feldmarschall
Дата 24.4.2008, 18:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: 3
Всего: 32



Напиши сторед процедуру.

"хочу перенести эти обязанности на СУБД". Это бессмысленное заявление. Желания должны быть осмысленными, а не от левой пятки.
А я хочу, чтобы база мне всю страницу в одном запросе возвращала. Опросы, новости, авторизацию, 
А чо? Убью пару месяцев, и получу желаемое. Останется только один вопрос - з а ч е м. Зачем мне это все.
Ты потратил на эту тему уже столько времени, чтобы написать сто запросов с NOW().
И ккоторое мог потратить на куда более важные вещи - оптимизацию, обработку ошибок, нормализацию БД. У тебя БД нормализована?

PM   Вверх
MeIsGremlin
Дата 25.4.2008, 00:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 172
Регистрация: 2.12.2005
Где: Киев

Репутация: нет
Всего: нет



Целостность данных должна быть перенесена на СУРБД максимально возможным способом и максимально снята с программы, дабы упростить ее алгоритм. Первичные и вторичные ключи, нормализация, тригеры и все шаги проектирования баз данных должны быть. Да, я могу всю жизнь писать тысячи запросов и продумывать программные алгоритмы корректного добавления и удаления данных, дат, писать парсеры и валидацию так как мне это видней, а могу потратить несколько дней на то чтоб выяснить некоторые вещи которые потом сэкономят мне время, затраты и упростят разработку и сделают ее более правильной и профессиональной, не изобретая каждый раз велосипед. Но тема то не об этом. Если вам нечего добавить, просто промолчите.

Это сообщение отредактировал(а) MeIsGremlin - 25.4.2008, 00:41
--------------------
mess with the best die like the rest 
PM MAIL ICQ Skype GTalk MSN   Вверх
Feldmarschall
Дата 25.4.2008, 08:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: 3
Всего: 32



Читая столь пафосные тексты от человека, который не может прочесть пару страниц документации, уменя не получается им верить. Неувязочка получается. 
PM   Вверх
Бонифаций
Дата 25.4.2008, 15:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 827
Регистрация: 15.9.2005
Где: Brisbane

Репутация: 20
Всего: 40



Цитата(MeIsGremlin @  24.4.2008,  16:53 Найти цитируемый пост)
в timestamp ты не укажешь время раньше 1970 года.


Цитата(MeIsGremlin @  24.4.2008,  01:55 Найти цитируемый пост)
так как просто надо дату регистрации вносить


??


--------------------
 Бонифаций.
 
PM MAIL ICQ Skype GTalk Jabber YIM   Вверх
skyboy
Дата 25.4.2008, 22:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 41
Всего: 260



Бонифаций, ему надо регистрировать людей задним числом  smile 
Цитата(MeIsGremlin @  24.4.2008,  23:40 Найти цитируемый пост)
Целостность данных должна быть перенесена на СУРБД

да ради Бога. ставишь MySQL версией выше 5.0 и используешь триггеры.
Цитата(MeIsGremlin @  24.4.2008,  23:40 Найти цитируемый пост)
максимально возможным способом

красиво сказал. но непонятно. 
Цитата(MeIsGremlin @  24.4.2008,  23:40 Найти цитируемый пост)
максимально снята с программы

фанатизм тут излишен.
MySQL, к примеру, ничего не знает о GMT сервера, на которой установлена. потому, если ты захочешь сделать распределение нагрузки по серверам, расположенным в разных временных зонах(ну, пример, возможно, и надуманный немного), то твое "время регистрации" надо будет уже предварительно обрабатывать на стороне того же PHP(кто в курсе о используемом GMT). А, значит, твое "максимальное снятие нагрузки с программы" вылезет боком.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MySQL | Следующая тема »


 




[ Время генерации скрипта: 0.1006 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.