gpt4 book ai didi

php - 数据库中的触发器应该更改不同数据库中表中的值?

转载 作者:行者123 更新时间:2023-11-29 00:38:50 27 4
gpt4 key购买 nike

如何创建一个由数据库中的更改激活的触发器,该更改会更改不同数据库中表中的值?

一个数据库包含具有登录信息(用户名、密码)的表。当用户登录时,另一个数据库中的表中的值将被更新。

这是如何实现的?

[编辑]

抱歉,是的,这两个不同的数据库在同一个数据库服务器上。

[更新]

我有 mainDB.users 表:

username | password | NumberLogins
---------|----------|--------------
| |

和一个 otherDB.history 表:

username | 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. 

最佳答案

我假设两个数据库都在同一台服务器上。

USE name_of_db_trigger_to_be_in;
delimiter ||
create trigger.......

UPDATE other_db.other_table
SET other_guys = 'hohoho';


end||

关于php - 数据库中的触发器应该更改不同数据库中表中的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13175046/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com