我面临着奇怪的问题。
我正在尝试更新表中的记录。我正在使用主键(唯一且非空)进行更新。
这是查询:
UPDATE `rxMaster` SET `Name`='Ac Electri' WHERE `rxMasterID`=13493;
出现以下错误:
ERROR 1242: 1242: Subquery returns more than 1 row
SQL Statement:
UPDATE `rxMaster` SET `Name`='Ac Electri' WHERE `rxMasterID`=13493;
我敢肯定,我在数据库中只有一条 ID 为“13493”的记录。我不确定发生了什么。
如果我遗漏任何东西,请纠正我。
注意:如果我创建新记录并更新该记录没有问题。但是,如果我尝试更新旧记录,我会得到这个。
扳机:
-- trigger for drop and update a record in rxMaster table, affected in search_text table. --
DELIMITER $$
DROP TRIGGER IF EXISTS `tr_upd_rolodexSearch`$$
CREATE TRIGGER `tr_upd_rolodexSearch` AFTER UPDATE on `rxMaster`
FOR EACH ROW
BEGIN
CALL sp_rolodex_upd_searchindex(NEW.rxMasterID, NEW.Name, NEW.SearchName, NEW.Phone1);
END$$
DELIMITER ;