powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Логирование внесения/обновления информации в таблицу
2 сообщений из 2, страница 1 из 1
Логирование внесения/обновления информации в таблицу
    #39966253
dr.cary
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
День добрый.

В таблицу необходимо добавить два поля.
1. С датой внесения/обновления информации.
2. Именем пользователя, осуществившим операцию.
При решение поставленной задачи через параметр по умолчанию (DEFAULT) для поля получается следующий результат:
В ответ на запрос:
CREATE TABLE `exp`.`tbl` (
`id` INT NOT NULL AUTO_INCREMENT,
`informacion` TEXT NULL,
`data` DATETIME NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`user` VARCHAR(45) NULL DEFAULT current_user,
PRIMARY KEY (`id`));

Возвращает:
ERROR 1064: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'current_user,
PRIMARY KEY (`id`))' at line 5

Забегая вперед скажу, что решил задачу через добавление двух тригеров на добавление и обновление данных.

Просто возникает пытливый вопрос почему CURRENT_TIMESTAMP проходит по DEFAULT. Но с current_user что то ломается.
...
Рейтинг: 0 / 0
Логирование внесения/обновления информации в таблицу
    #39966344
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dr.cary
почему CURRENT_TIMESTAMP проходит по DEFAULT.
Потому что это документировано явно.

dr.cary
с current_user что то ломается.
Потому что в DEFAULT нельзя использовать функции, CURRENT_TIMESTAMP - документированное исключение.
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Логирование внесения/обновления информации в таблицу
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]