2012-03-30 2 views
0

Another answer shows how to set a default timestamp. Тем не менее, он обновляет только запись, которую вы редактируете. Мне было интересно, есть ли другой способ, который будет редактировать, скажем, текущий год во всех записях.Автоматическое обновление столбца базы данных

Например, моя база данных содержит 2 записи, которые были вставлены в 2011 году, поэтому текущий столбец даты для двух записей будет 2011. Я хотел бы сделать обновление этого столбца до 2012 года, когда будет вставлен новый пользователь, что означает, что теперь будет 3 записи, а колонка текущего года для всех трех записей будет в 2012 году.

Возможно ли это?

Моя основная цель - рассчитать возраст.

+0

Если вы всегда хотите, чтобы все записи отображали текущий год, зачем их хранить в БД? получить текущий год с системного времени и использовать его? –

+0

** Что ** система баз данных и какая версия ** ** ** ** - это только язык структурированных запросов - язык, используемый многими системами баз данных - SQL - это * * НЕ ** продукт базы данных ... такие вещи, как это очень часто зависит от поставщика, поэтому нам действительно нужно знать, какую систему баз данных вы используете .... –

+0

@marc_s Привет ... Я использую xxamp phpmyadmin. .. не уверен, что это то, что я должен дать ... – Hubert

ответ

2

Вам действительно не нужно - и НЕ должен - хранить текущий год в столбце таблицы (и, возможно, в нескольких миллионах строк) - если вы не пишете приложение Star Trek, где некоторые персонажи живут в 2012 году, а другие в 42012 (другими словами, если «текущий год» не совпадает для всех).

Вы всегда можете использовать это в своих расчетах:

YEAR(CURRENT_DATE()) 
0

Если вы храните дату рождения пользователя в столбце DATE, то вы можете вычислить их возраст. Эти расчеты варьируются от «хороших 99%» времени до good for everyone including leap year babies

+0

привет ... спасибо за помощь ... мне нравится знать, потому что если у установить дату как формат ... цифра должна быть yyyy-mm-dd ... есть в любом случае я могу сделать это как dd/mm/гггг? – Hubert

+0

Дата, дата и время сохраняются внутри как целые числа, и вы можете использовать функции mysql для их форматирования практически в любом случае в вашем SELECT, используя DATE_FORMAT (дата, строка формата) – gview

+0

, если у меня есть эта строка '$ adddob = $ _POST ['dob']; 'как применить формат даты? Извините, я не очень хорош в этом ... Спасибо заранее – Hubert

Смежные вопросы