| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Общие вопросы > Премодерация сообщений |
| Автор: console 15.12.2007, 00:15 | ||
Необходимо разработать простенький форум для сайта.
Комментарии должен одобрять модератор. Допустим, напишу функцию, которая будет изменять значение поля is_approved с нуля на единицу, как сделать так, чтобы дата post_date не обновлялась на текущую? Или проще сделать текстовое поле вместо TIMESTAMP, и записывать туда значение time() ? |
| Автор: Feldmarschall 15.12.2007, 00:19 |
| а что - кроме текстовых полей и TIMESTAMP в mysql больше нет типов полей для даты? и зачем писать on update CURRENT_TIMESTAMP, если не нужен CURRENT_TIMESTAMP on update? |
| Автор: skyboy 15.12.2007, 02:13 |
| перейди от конструкции к триггеру, который будет проверять: если при update меняется is_approved с 0 на 1, то post_date не меняем. Иначе - меняем. Добавлено через 52 секунды триггер либо на on before update, либо на on after update |
| Автор: Feldmarschall 15.12.2007, 08:56 |
| skyboy, триггеры, конечно, хорошая вещь, но в данном случае это явно лишнее =) во-первых, в данном случае вообще не требуется менять значение поля автоматом. во-вторых, сама функционалность поля timestamp и была придумана, чтобы эмулировать триггер при работе с датой. а в данном случае timestamp - явно избыточно. |
| Автор: MoLeX 15.12.2007, 10:19 | ||
согласен, зачем? |