一旦我将after update触发器添加到我的用户表中,数据库就不知道该表了。
1109-字段列表中的unbekannete tabelle'k25831\u dotlan.user'
触发器:
CREATE TRIGGER `trg_UpdateNewsletterDate`
AFTER UPDATE
ON `user`
FOR EACH ROW
IF k25831_dotlan.`user`.newsletter = 1 AND k25831_dotlan.`user`.newsletterdate IS NULL
THEN
BEGIN
UPDATE k25831_dotlan.`user` SET k25831_dotlan.`user`.newsletterdate = NOW() WHERE k25831_dotlan.`user`.id = k25831_dotlan.`user`.id;
END;
END IF
正如我在类似的mysql update语句中发现的那样:“field list”中未知的“table”,如果没有触发器,那么拥有一个名为user的表是没有问题的。一旦我放下触发器,更新和任何其他查询都会按预期工作。
有关php和mysql的信息:
php版本:5.6.38
数据库客户端版本:libmysql-mysqlnd 5.0.11
服务器版本:10.1.36-mariadb
安装过程已由xampp接管。
1条答案
按热度按时间wyyhbhjk1#
Begin
在触发器主体的开始处出现。之后,所有其他条件语句/查询/变量赋值等都将出现。顺便问一下,你的触发器是做什么的。不访问
OLD
以及NEW
,这没有任何意义