2009-06-15 3 views
0

У меня есть таблица PARTSORDER. Я хочу сохранить отслеживание последнего времени модификации для удобной записи для легкого доступа позже (запросы заказов, которые были изменены два дня назад). Должен ли я иметь столбец с типом даты и времени, чтобы указать время на него или лучший способ, который вы обычно используете? спасибо,как сохранить дорожку последнего измененного времени

ответ

0

Если вы используете MS SQL Server, вы хотите использовать DATETIME колонку. TIMESTAMP может выглядеть хорошо сначала, но вы не можете запросить его или использовать его в индексе. Это больше для отслеживания порядка, в котором все произошло в базе данных, или сравнения исходной записи с базой данных для изменений при обновлении (что вы должны делать, если вы еще не находитесь в многопользовательской среде). Детали: Timestamps vs Datetime data types

Я даже работал над системами, у которых есть таблица журналов для отслеживания изменений, поскольку в записи часто бывает несколько изменений. Кроме того, некоторые из них имеют другую таблицу, которая отслеживает отдельные изменения, сделанные в списке типов ключей/значений, вызванных триггером обновления. Эти данные связаны с журналом и, в конечном счете, с записью. Затем вы можете легко создать историю всех изменений, внесенных в запись.

1

я почти всегда имею следующие четыре аудит поля:

CREATED_BY 
CREATED_DATE 
MODIFIED_BY 
MODIFIED_DATE 

Они позволяют для записи оригинального пользователя/даты, а также дата последнего изменения пользователя/даты.

Кроме того,

Если вам нужна история изменений (больше, чем просто самый последний), то вы всегда можете использовать журнальный столик сортов.

0

В MySQL вы можете создать столбец TIMESTAMP в таблице, который будет автоматически установлен на текущую дату и время, когда они будут изменены (в INSERT и UPDATE).

Вот пример:

CREATE TABLE `PARTSORDER` (
`modified` timestamp NOT NULL default CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP 
) ENGINE=MyISAM;