Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > MySQL > лог-репорт изменений


Автор: dvamaster 23.6.2009, 06:17
Доброго времени суток!

База Win MySQL 5.1.35.

Нужна таблица для ведения лога изменений (для начисления ЗП архивариусу, но не в этом суть)
Суть изменения в определенных полях таблиц (всего 2 таблицы, 56 полей) c 4-мя типами INTEGER, BIT, DATA, VARCHAR нужно сохранить, а в последствие распечатать!

Лог табица:
юзверь изменивший данные,
время изменений,
идентификатор таблицы,
идентификатор поля,
старые данные,
новые данные

А вот какой тип выбрать для "старые данные", "новые данные"? Я пока что остановился на VARCHAR, во всяком случае визуально данные не нарушаются!

Может кто еще чтонить предложит? Допустим BLOB? Можно ли из него обратную конвертацию типа сделать?

Автор: Severyanin 23.6.2009, 06:48
Тогда уж, если делать то не BLOB, а TEXT. А вообще, тип, которым представляются данные, зависит от их особенностей. Приведите пример данных, которые будут туда писаться.

Автор: dvamaster 23.6.2009, 06:51
текст - Иванов
дата - 2009-06-12
битовое значение - 0, 1
целое число - 12312
с плав. запятой - 12,68

Автор: Severyanin 23.6.2009, 06:59
что-ото я не понял, Вы хотите записать это все в одно поле? если в разные. то Вы уже написали тапы выше. Или я что-то не понял?

Автор: dvamaster 23.6.2009, 07:06
Цитата(Severyanin @  23.6.2009,  09:59 Найти цитируемый пост)
 Вы хотите записать это все в одно поле?

Да.

Но данные достаточно иметь в текстовом виде, это необходимо для распечатки, ничего больше.
Во всяком случае в строку все эти типы переводятся без проблем.

Автор: Severyanin 23.6.2009, 07:17
Тогда, как я писал, Вам удобнее будет использовать тип TEXT. Varchar может не хватит,и , если Вам потребуется писать потом туда еще что-то, придется менять структуру базы и кучу запросов. А TEXT потом без проблем приводится к строке и парсится. Только я советую Вам придумать уникальный разделитель для данных, который в них не будет встречаться, например - ;

Автор: dvamaster 23.6.2009, 07:21
Спасибо за совет, ТЕХТ как BLOB только текстовый, так что сама-то  smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)