CREATE TABLE и default значение для поля DateTime в виде текущей даты

_Leonchik_

Новичок
CREATE TABLE и default значение для поля DateTime в виде текущей даты

Задача в следующем:

есть много таблиц. много скриптов.
необходимо всем таблицам добавить поле для LAST_MODIFY данных.

Идея в том, чтобы для INSERT данных, не переписывать запросы с добавлением даты и времени, а только для обновления UPDATE данных.
Это все необходимо для многих целей и хотелось бы малой кровью.

примерно так для новых таблиц, но ругается.
также надо будет переделать для уже существующих таблиц
PHP:
CREATE TABLE `table_name` (
  `Id` int(11) NOT NULL auto_increment,
  `name` varchar(11) default 'test',
  `LAST_MODIFY` datetime default curdate(), # <-- тут пробывал все подходящие варианты, даже поле ставил как varchar. (гадаю)
  PRIMARY KEY  (`Id`)
) ENGINE=MyISAM AUTO_INCREMENT=50 DEFAULT CHARSET=cp1251;
Что меня на это подтолкнуло? - я видел (в интернете) подобный пример, но не могу вспомнить где , и соответственно повторить тоже не могу.
Может я видел чужую больную фантазию? И мне не стоит на это тратить время?
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
я видел (в интернете) подобный пример, но не могу вспомнить где , и соответственно повторить тоже не могу.
Может в мануале?
http://www.mysql.ru/docs/man/DATETIME.html

-~{}~ 22.09.07 16:06:

Идея в том, чтобы для INSERT данных, не переписывать запросы с добавлением даты и времени, а только для обновления UPDATE данных.
Это все необходимо для многих целей и хотелось бы малой кровью.
Это о чём?
 

_Leonchik_

Новичок
INSERT INTO `table_name` SET name='Vasea';
при этом в поле LAST_MODIFY должно само подставится текущая дата

UPDATE `table_name` SET name = 'Tanea';
При этом поле LAST_MODIFY должно обновится сегодняшней датой (тут думаю что не прокатит никак, надо запрос дописать будет)

Но хотябы для INSERT запросов этого не делать.
Также можно было бы REPLACE заюзать вместо UPDATE, но увы.

-~{}~ 22.09.07 17:23:

вот например
В столбце TIMESTAMP не может храниться литерал NULL; установка данного столбца в NULL устанавливает его в текущее значение даты и времени. Поскольку столбцы TIMESTAMP ведут себя подобным образом, то атрибуты NULL и NOT NULL неприменимы в обычном режиме и игнорируются при их задании.
А для DATETIME можно сделать?
 

andymc

Новичок
1. У таблицы есть свойство Update_time (запрос 'SHOW TABLE STATUS LIKE "your_table"'), если вам надо определять именно дату последнего обновления таблицы.
2. Автоматическая установка текущей даты обновления ряда есть только у поля с типом TIMESTAMP.
The first TIMESTAMP column in a table is automatically set to the date and time of the most recent operation if you don't assign it a value yourself. You can also set any TIMESTAMP column to the current date and time by assigning it a NULL value.
 
Сверху