我調用一個過程,它運行,並且控制檯顯示「0行受到影響」。這是MySQL程序的正常行爲嗎?MYSQL程序運行,但返回0行受影響
程序顯然正在做他們應該做的。一個程序有2個插入語句,另一個程序有插入和更新語句,我親眼看到了結果。確實有一些行受到影響。
我不確定稍後會使用該結果,但似乎我想從我的數據庫中獲得準確的響應,無論是否更新了任何內容,尤其是在預期的情況下。
想法?
MySQL 5.5如果它很重要,並且過程使用事務通過自動提交的語句。
CREATE DEFINER=`root`@`localhost` PROCEDURE `create_issue`(user_id SMALLINT, title varchar(255), body LONGTEXT)
BEGIN
DECLARE MYUSERID SMALLINT;
DECLARE EXIT HANDLER FOR SQLEXCEPTION BEGIN END;
START TRANSACTION;
INSERT INTO tracker.issue (user_id, title, body, creation_date, last_mod_date) values (user_id, title, body, CURDATE(), CURDATE());
UPDATE user_activity SET last_new_issue = CURDATE(), post_count = post_count + 1 WHERE user_activity.user_id = user_id;
COMMIT;
END
編輯顯示實際查詢。此外,我一直在尋找並儘可能最好,因爲我可以告訴這是一年半以前的一個已知問題。所以我想這個可以關閉。
http://bugs.mysql.com/bug.php?id=44854 – Nishant 2011-01-10 22:06:12
這個bug相當古老,它肯定沒有被糾正過這麼久? – JHarnach 2011-01-11 02:21:05