我正面臨着奇怪的問題。MySQL - 子查詢返回多於1行(奇怪的)
我想更新我的表中的記錄。我通過使用主鍵(唯一和非空)更新。
下面是該查詢:
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 ;
這裏沒有子查詢。更新多行沒有任何問題。 –
爲什麼這是一個子查詢什麼? –
請仔細檢查您的查詢,方法是應用'select * from'rxMaster' WHERE'rxMasterID' = 13493;' – sarwar026