Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: не могу вставить дату в бд
 
 автор: asker   (12.09.2009 в 23:58)   письмо автору
 
 

когда делаю выборку из бд
select c_date from table // выводит дату как например 2009-08-12 12:22:12

но когда пытаюс обновить дату (любое из полей c_date date_update c_edit или date_registration) вместо даты вставляются 0000-00-00 00:00:00
в чем может быть проблема ?

вот запрос
update t_orders set c_model='SD Card', c_date='2009-01-20 09:56:16', c_edit='1000-00-00 00:00:00', date_registration='0000-00-00 00:00:00', date_update='1009-07-05 11:21:34' where c_id=21675

  Ответить  
 
 автор: heed   (13.09.2009 в 01:02)   письмо автору
 
   для: asker   (12.09.2009 в 23:58)
 

даже и не должно так получаться
у меня этот запрос нормально работает

CREATE TABLE t_orders(
c_id TINYINT UNSIGNED NOT NULL AUTO_INCREMENT,
c_model TINYTEXT NOT NULL,
c_date DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
c_edit DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
date_registration DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
date_update DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
PRIMARY KEY(c_id)
) ENGINE=MyISAM;

INSERT INTO t_orders (c_model) VALUES
('card 1'),('card 2'),
('card 3'),('card 4'),
('card 5'),('card 6'),
('card 7'),('card 8');

update t_orders set c_model='SD Card',
c_date='2009-01-20 09:56:16',
c_edit='1000-00-00 00:00:00',
date_registration='0000-00-00 00:00:00',
date_update='1009-07-05 11:21:34'
where c_id=5;

SELECT * FROM t_orders t;

DROP TABLE t_orders;

  Ответить  
 
 автор: Рома   (13.09.2009 в 03:12)   письмо автору
 
   для: asker   (12.09.2009 в 23:58)
 

дату удобнее всего хранит в формате time() - никаких проблем не будет с выводом. а все остальные форматы хранения - извращение.

  Ответить  
 
 автор: Trianon   (13.09.2009 в 08:56)   письмо автору
 
   для: Рома   (13.09.2009 в 03:12)
 

С резюме Вы малость погорячились. Хотя некоторая сермяга, безусловно, имеется.

  Ответить  
 
 автор: Trianon   (13.09.2009 в 09:14)   письмо автору
 
   для: asker   (12.09.2009 в 23:58)
 

The DATETIME type is used when you need values that contain both date and time information. MySQL retrieves and displays DATETIME values in 'YYYY-MM-DD HH:MM:SS' format. The supported range is '1000-01-01 00:00:00' to '9999-12-31 23:59:59'.

и чему вы удивляетесь?

  Ответить  
 
 автор: asker   (13.09.2009 в 12:11)   письмо автору
 
   для: Trianon   (13.09.2009 в 09:14)
 

у меня поле имеет формат timestamp незнаю насколько это важно

  Ответить  
 
 автор: Trianon   (13.09.2009 в 12:39)   письмо автору
 
   для: asker   (13.09.2009 в 12:11)
 

важно.
У типа TIMESTAMP ограничения еще жестче.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования