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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблема с полем TIMESTAMP, не работает ничего! 
:(
    Опции темы
barcelona
Дата 31.8.2009, 16:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Здравствуйте!
Я работаю с типом данных TIMESTAMP. Пытаюсь хранить в нём данные по Гринвичу.
Первая проблема: почему при update-е значение не меняется, даже если я его редактирую? Если ставлю CURRENT_TIMESTAMP - проблем нет, а вот если дату ...
Вторая проблема: мне нужно, чтобы при обращении к базе вытаскивались актуальные значения в зависимости от часового пояса (т.е. к/от времени по Гринвичу автоматически добавляются/вычитаются часы). MySQL может делать это самостоятельно? На сайте MySQL я вычитал "TIMESTAMP values are converted from the current time zone to UTC for storage, and converted back from UTC to the current time zone for retrieval.". То есть: хранится в UTC - вытаскивается в зависимости от часового пояса. Но системная переменная TZ у меня, судя по всему, привязана к моему часовому поясу и запрос типа Insert into ... Values(NOW()) вставил моё текущее время, а не Гринвич...
Вообще, я обратился с TIMESTAMP-у, чтобы хранить время по Гринвичу и потом доставать актуальное время в зависимости от часового пояса. Если это нельзя сделать с помощью TIMESTAMP, то, может быть. можно реализовать другим способом?
Версия MySQL - 5.0.67
Таблица:
Код

CREATE TABLE IF NOT EXISTS `t` (
  `ts` timestamp NULL default NULL,
  `string` varchar(255) default NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

Я взял этот пример с сайта MySQL
Код

SELECT CONVERT_TZ( '2007-03-11 3:00:00', 'US/Eastern', 'US/Central' ) ;

Возвращает NULL. В чём может быть дело?
PM MAIL   Вверх
Бонифаций
Дата 1.9.2009, 08:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



timestamp специфичный тип поля. Почему не datetime?



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


Бывалый
*


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

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



Потому что моей задачей является сохранение времени по Гринвичу, а при SELECT-е - получение актуального времени в зависимости от часового пояса. Я не знаю, как это сделать и возможно ли это, поэтому попробовал TIMESTAMP, но пока не получается. 

Это сообщение отредактировал(а) barcelona - 1.9.2009, 10:52
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MySQL | Следующая тема »


 




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


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

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