私は奇妙な問題に直面しています。
テーブルのレコードを更新しようとしています。主キー (一意で null 以外) を使用して更新しています。
クエリは次のとおりです。
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' のレコードが 1 つしかありません。何が起こっているのかわかりません。
何か不足している場合は修正してください。
注:新しいレコードを作成してそのレコードを更新しても問題はありません。しかし、古いレコードを更新しようとすると、これが発生します。
引き金:
-- 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 ;