Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > SQL, базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.08.2017, 22:40   #1
Bulat Ibrahim
Форумчанин
 
Регистрация: 24.04.2015
Сообщений: 199
По умолчанию Авто-установка даты типа "DATE" в PhpMyAdmin

Всех приветствую. Начинаю близко знакомиться с базой данных MySQL. Делаю таблицу для новостей в сайте, для них 4 поля: id, дата, заголовок и текст. id сделал авто-инкриментом, и дату хочу сделать автоматической. То есть, при добавлении новых строк в поле "Дата" выводилась дата добавления строки.
В параметре "По умолчанию" при создании таблицы есть "CURRENT_TIMESTAMP" для типа "TIMESTAMP" - думаю, это что-то похожее на то, что мне нужно.
Но можно что-то похожее сделать с типом "DATE"?
Булат Азат улы
Bulat Ibrahim вне форума Ответить с цитированием
Старый 13.08.2017, 08:15   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

В триггере перед вставкой типа такого
Код:
IF ISNULL(NEW.MyDate) THEN
  SET NEW.MyDate = NOW(); 
END IF
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 13.08.2017 в 08:26.
Аватар вне форума Ответить с цитированием
Старый 13.08.2017, 11:37   #3
Bulat Ibrahim
Форумчанин
 
Регистрация: 24.04.2015
Сообщений: 199
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
В триггере перед вставкой типа такого...
Аватар, не совсем понял. Куда вставить этот код? Каждый раз добавлять это в код, при добавлении новой строки (например, через админку)? И что писать вместо "MyDate"?
Не могли бы, пожалуйста, показать более подробный пример?
Булат Азат улы
Bulat Ibrahim вне форума Ответить с цитированием
Старый 13.08.2017, 11:44   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Дык написал же - в триггере перед вставкой. Создай триггер CREATE TRIGGER ... BEFORE INSERT , в нем код наподобие того, что выше привел. Если версия мускула позволяет. Триггер создается в базе один раз и ни каких каждый раз )) MyDate - это имя твоего поля с датой, назови по другому ))
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 13.08.2017, 11:57   #5
Bulat Ibrahim
Форумчанин
 
Регистрация: 24.04.2015
Сообщений: 199
По умолчанию

Аватар, в PhpMyAdmin нажал на "Триггеры";
В поле "Название" написал что-то произвольное, для себя;
В поле "Таблица" указал нужную таблицу;
В поле "Время" - "BEFORE";
В поле "Событие" - "INSERT";
В поле "Определение" написал данный вами код, вставляя вместо "MyDate" имя поля даты в таблице (у меня это - news_date);
Поле "Определитель" оставил пустым.
Правильно сделал (ещё не сохранил)?
Булат Азат улы
Bulat Ibrahim вне форума Ответить с цитированием
Старый 13.08.2017, 12:25   #6
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Цитата:
PhpMyAdmin
Ни когда не пользовался (( Так что не скажу как там мастерами пользоваться
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 13.08.2017, 14:14   #7
Bulat Ibrahim
Форумчанин
 
Регистрация: 24.04.2015
Сообщений: 199
По умолчанию

Аватар, спасибо, всё работает!
Булат Азат улы
Bulat Ibrahim вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как вывести строку "старого" типа в компонентах Дельфи "нового" типа? Ship_1 Общие вопросы Delphi 8 23.06.2017 12:07
Нужно пояснить/прокомментировать код программы, или коды функций "Добавить" "Удалить" "Обновить(редактировать" "Поиск" "Период") ZIRASS PHP 4 15.06.2016 14:23
Нажатие ссылки типа <a class="button_mediu" href="blabla/44">Сражатmься</a> Dima170792 Работа с сетью в Delphi 1 25.01.2014 20:15
Как "повесить " передачу данных из формы на событие нажатия кнопки типа "button" ? vedro-compota JavaScript, Ajax 10 14.12.2010 21:05
Как обойти "преобразование типа из "string" в "float" невозможно" lexluter1988 Помощь студентам 1 07.08.2010 12:23