Сделать обновление столбца TIMESTAMP, хотя я ничего не менял? - PullRequest
1 голос
/ 25 октября 2010

У меня есть таблица MySql, в которой есть столбец отметки времени.

В таблице также есть много других столбцов.

У меня есть раздел "Изменение классификации" на моей странице.

Когда пользователи меняют свои объявления, я хочу, чтобы временная метка обновляла свою временную метку.И это так, но иногда вы вообще не меняете классификацию, вы просто хотите, чтобы она была «обновлена».

Как я могу обновить мой столбец TimeStamp, даже если ничего не было обновлено?

Т.е.:

  UPDATE table
  SET text='hello'
  WHERE table.id='id_here';

В приведенном выше примере, если столбец «текст» уже был «привет», здесь ничего бы не произошло.Временная метка не будет обновляться.

Есть ли какие-либо способы обойти это, кроме добавления еще одного столбца?Какие-нибудь настройки MySql?

Спасибо

Ответы [ 3 ]

1 голос
/ 25 октября 2010

Почему бы вам просто не обновить столбец отметки времени с отметкой времени?

  UPDATE table
  SET timestamp = now()
  WHERE table.id='id_here';

А может, мне не хватает части твоей проблемы?

0 голосов
/ 25 октября 2010

Колонки с метками времени - отличная идея, они есть во всех корпоративных СУБД;все работают одинаково автоматически.«Материал», который он выполняет, - это стандартные и четко документированные технические операции.Он не может быть обновлен напрямую, просто для того, чтобы люди не делали глупостей и не наносили ущерба истинной ценности того, чем они должны быть;поставщик правильно защитил вашу базу данных от злоупотреблений и подрывной деятельности.

Неправильное использование столбца метки времени - плохая идея.

Попытка заставить его делать то, для чего он никогда не был предназначен,плохая идея.

UPDATE ... SET "hello" для "hello" является грубым злоупотреблением и ненужной работой на сервере.

Вы пытаетесь получить столбец Timestamp для идентификациичто-то другое, чем отметка времени.Плохая идея.Это (факт) должно быть представлено в данных (столбец).Сделай это правильно.Добавьте столбец DATE в таблицу: RenewedDate.

0 голосов
/ 25 октября 2010

Это не совсем ответ на ваш вопрос, но я думаю, что столбцы с метками времени, как правило, плохая идея. Причина, по которой они являются плохой идеей, - такие вещи, как это. Вы позволяете MySQL делать вещи автоматически, и если его представление о том, что он должен делать автоматически, не совсем ваше представление о том, что вы хотите, чтобы делать, то вы застряли.

Я бы добавил дополнительный столбец, введите datetime (в зависимости от необходимой точности) и всегда явно обновлял его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...