如何创建由数据库中的更改激活的触发器,该更改会更改不同数据库中表中的值?
一个数据库包含具有登录信息(用户名、密码)的表。当用户登录时,另一个数据库中的表中的值将被更新。
这怎么可能实现?
[编辑]
对不起,是的,两个不同的数据库在同一个数据库服务器上。
[更新]
我有mainDB.users
桌子:
username | password | NumberLogins
---------|----------|--------------
| |
和一张otherDB.history
桌子:
username | points
---------|---------
|
points
用户登录后如何增加相应的值?
USE `mainDB`;
DROP TRIGGER IF EXISTS `updateUserInfo`;
DELIMITER ||
CREATE TRIGGER `updateUserInfo`
BEFORE UPDATE ON `users`
FOR EACH ROW
BEGIN
IF NEW.`NumberLogins`=5 THEN
UPDATE `otherDB`.`history`
SET `points` = `points` + 1,
WHERE
`username`=NEW.`username`;
END IF;
END ||
我不断收到此错误。
#1442 - Can't update table 'history' in stored function/trigger because it is already used by statement which invoked this stored function/trigger.