Запрос PDO обновляет столбец datetime, которого нет в запросе. Часть 2 - PullRequest
1 голос
/ 19 марта 2019

Продолжение этого вопроса:

Запрос PDO, обновляющий столбец datetime, которого нет в запросе

Столбец в моей таблице с именем lastLoginDate автоматически обновлялся, даже если мой подготовленныйоператор не включает указанный столбец.

По-видимому, когда я создал новый столбец, был установлен триггер.

После использования команды SHOW CREATE TABLE table_name я вернул следующие результаты:

CREATE TABLE `users_edi` (
`username` varchar(30) NOT NULL DEFAULT '',
`fullname` varchar(50) DEFAULT NULL,
`userlevel` tinyint(1) unsigned NOT NULL,
`ipaddress` varchar(30) DEFAULT NULL,
`email` varchar(150) DEFAULT NULL,
`entrydate` datetime DEFAULT NULL,
`division` varchar(35) DEFAULT NULL,
`password` varchar(32) DEFAULT NULL,
`userid` varchar(32) DEFAULT NULL,
`timestamp` int(11) unsigned NOT NULL,
`job_title` varchar(30) DEFAULT NULL,
`dept` varchar(50) DEFAULT NULL,
`phone` varchar(11) DEFAULT NULL,
`lastLoginDate` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP, // <-- here
PRIMARY KEY (`username`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8

Столу лет.Я только что создал столбец и каким-то образом, триггер был установлен на него (я думаю).

В любом случае, я пытался удалить его, используя следующую команду:

ALTER TABLE `users_edi` 
  `lastLoginDate` datetime DEFAULT NULL

Но я получаю толькоследующая ошибка:

[Err] 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 '`lastLoginDate` datetime DEFAULT NULL' at line 4

Как удалить этот триггер с помощью команды ALTER TABLE или любой другой команды?

1 Ответ

2 голосов
/ 19 марта 2019
ALTER TABLE users_edi MODIFY COLUMN lastLoginDate DATETIME DEFAULT NULL;

Возможно, вы захотите прочитать эту страницу в ALTER TABLE: https://dev.mysql.com/doc/refman/8.0/en/alter-table.html

...