Модераторы: skyboy
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Автоматическое добавление даты в MySQL 
V
    Опции темы
NNaarreekk
Дата 13.10.2009, 20:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 768
Регистрация: 23.6.2007
Где: Армения

Репутация: нет
Всего: 3



Есть таблица в базе данных, в нем поле 'upd_date' ...

Можно ли сделать так чтоб при добавлении наовой строки в базу или изменение существующей в этом поле автоматически записывалось нынешняя дата??

Но так чтоб это делалось автоматически а не `upd_date`= 'date()'.

Заранее спасибо!!
PM MAIL WWW   Вверх
Gluttton
Дата 13.10.2009, 20:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Начинающий
***


Профиль
Группа: Завсегдатай
Сообщений: 1170
Регистрация: 28.8.2008
Где: Феодосия

Репутация: 2
Всего: 54



Можно...

Функция now()

Добавлено через 3 минуты и 56 секунд
Вот пример для вставки значений...
Цитата

Код

mysql> create table mytest (c1 int, c2 varchar(10), c3 date) engine=myisam;
Query OK, 0 rows affected (0.00 sec)

mysql> insert into mytest values (1,'testing',now());
Query OK, 1 row affected (0.00 sec)

mysql> select * from mytest;
+------+---------+------------+
| c1   | c2      | c3         |
+------+---------+------------+
|    1 | testing | 2005-11-29 |
+------+---------+------------+
1 row in set (0.00 sec)



Добавлено через 9 минут и 42 секунды
Для автоматической вставки, можно использовать триггеры...

Добавлено через 14 минут и 6 секунд
Вот здесь ещё один пример...
Цитата

Код

CREATE TRIGGER mytrigger BEFORE INSERT ON points FOR EACH ROW SET NEW.modified = NOW();



И тут ещё немножко...


--------------------
Слава Україні!
PM MAIL   Вверх
Akina
Дата 13.10.2009, 20:57 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 106
Всего: 454



При добавлении - присвоить полю тип timestamp и  default value = current_timestamp, и не устанавливать его значение в запросе:
Цитата

mysql> create table test (
    -> id int auto_increment primary key,
    -> txt char(20) not null,
    -> dt timestamp default current_timestamp);
Query OK, 0 rows affected (0.17 sec)

mysql> insert into test (txt) values ('text 1');
Query OK, 1 row affected (0.09 sec)

mysql> insert into test (txt) values ('text 2');
Query OK, 1 row affected (0.03 sec)

mysql> insert into test (txt) values ('text 3'),('text 4');
Query OK, 2 rows affected (0.01 sec)
Records: 2  Duplicates: 0  Warnings: 0

mysql> select * from test;
+----+--------+---------------------+
| id | txt    | dt                  |
+----+--------+---------------------+
|  1 | text 1 | 2009-10-13 21:51:11 |
|  2 | text 2 | 2009-10-13 21:51:16 |
|  3 | text 3 | 2009-10-13 21:51:28 |
|  4 | text 4 | 2009-10-13 21:51:28 |
+----+--------+---------------------+
4 rows in set (0.01 sec)

При изменении - решение уже озвучено.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
NNaarreekk
Дата 13.10.2009, 20:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 768
Регистрация: 23.6.2007
Где: Армения

Репутация: нет
Всего: 3



Gluttton, Спасибо за помощь.
Я думал будет проще, поставил где-нибудь в phpMyAdmin птичку и все после каждого действия в базе добавляется время smile 

now() не подходит потому-что уже есть запросы так что руками в каждом добавлять будет не очень, хотя тоже вариант((
Тригеры похожи только не разобрался, а в комментах было написано что это тормозит работу.

Наверно придется использовать now()  :(
PM MAIL WWW   Вверх
skyboy
Дата 13.10.2009, 21:02 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 41
Всего: 260



для этой цели используется поле типа timestamp со значением по умолчанию current_timestamp:
Код

ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP

PM MAIL   Вверх
NNaarreekk
Дата 13.10.2009, 21:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 768
Регистрация: 23.6.2007
Где: Армения

Репутация: нет
Всего: 3



ВОТ ЭТО Я ХОТЕЛ НАЙТИ!!!! smile  smile  smile  smile 

Всем спасибо!!!


Тема закрыта!

Добавлено через 2 минуты и 27 секунд
Упс, я кажется рано обрадовался(((

Этот TIMESTAMP только при INSERTE работает, да??
PM MAIL WWW   Вверх
Zloxa
Дата 14.10.2009, 09:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


Профиль
Группа: Завсегдатай
Сообщений: 3473
Регистрация: 12.9.2008

Репутация: 33
Всего: 161




M
Zloxa
Перенесено из баз данных



--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
skyboy
Дата 14.10.2009, 09:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 41
Всего: 260



Цитата(NNaarreekk @  13.10.2009,  20:12 Найти цитируемый пост)
Этот TIMESTAMP только при INSERTE работает, да?? 

смотря, как пропишешь. ты в доку заглядывал вообще?
PM MAIL   Вверх
NNaarreekk
Дата 14.10.2009, 11:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 768
Регистрация: 23.6.2007
Где: Армения

Репутация: нет
Всего: 3



Цитата(skyboy @  14.10.2009,  11:11 Найти цитируемый пост)
ты в доку заглядывал вообще? 

не заметил что есть документация smile 
Извиняюсь! теперь разобрался, еще раз спасибо всем!
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MySQL | Следующая тема »


 




[ Время генерации скрипта: 0.0537 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.