Задавайте вопросы, мы ответим
Вы не зашли.
Господа, подскажите пожалуйста, какие должны быть два поля, чтобы первое автоматически устанавливалось в текущую дату и не менялось позже при обновлении записи, а второе поле устанавливалось в текущую дату при каждом обновлении записи. (т.е. дата создания и дата модификации)
Понимаю, что думать в сторону TIMESTAMP - но там такой мутный набор атрибутов, что не могу поняти как решить с их помощью данную задачу.
Или это можно решить только триггерами или скриптом?
Неактивен
Мы такое реализуем с помощью триггера, в таком виде:
Неактивен
Такое можно реализовать и без триггера:
Неактивен
LazY написал:
Такое можно реализовать и без триггера:
CREATE TABLE tbl (
created TIMESTAMP DEFAULT 0,
lastmodified TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);
Но в таком случае при каждой вставке в таблицу Вам придется явно вставлять NULL в обе колонки, иначе получите нули (при преобладании вставок над обновлениями такое явно не окупается).
Кроме того (и это, возможно, даже важнее), не хочется обычно вообще вспоминать про временные поля и включать их в логику приложения - еще один аргумент за триггер.
Без тригера можно и не мудрствовать лукаво со вставками NULL ; )
Неактивен
В итоге мы на webew.ru пришли к выводу, что с триггером удобнее, так как чем меньше разработчик знает про эти поля, тем более корректная информация в них содержится.
Неактивен
Не могу с Вами не согласиться, но сервера версии < 5 ещё встречаются
Неактивен
К несчастью, да.
Более того, для создания триггера нужен SUPERUSER, чего также нередко не бывает.
Неактивен