0
私はストアドプロシージャを使用し、mysql v5.1で自動コミットONを使用します。ストアドプロシージャの失敗時にテーブルをロックするのはなぜですか?
UPDATE client
SET `status` = '0', withdraw_date = NOW()
WHERE auth_token = p_auth_token;
UPDATE order
SET modate = NOW()
WHERE client_auth_token = p_auth_token AND `status` = '0';
//raise error no column client_auth_token
COMMIT;
client_auth_token
が注文表に存在しないため、ストアドプロシージャを呼び出すときにエラーが発生します。ちなみに、レコードをクライアントテーブルにロックしてください。なぜクライアントテーブルの順序テーブルにロックを取る?