DELIMITER ;;
CREATE PROCEDURE `CANCEL_ORDER`(IN order_id INT, IN buyer_user_id INT)
BEGIN
SET autocommit=0;
START TRANSACTION;
SELECT customer_user_id INTO @userid FROM orders WHERE id=order_id;
IF @userid=buyer_user_id THEN
UPDATE orders SET status='failed',canceled_at=UNIX_TIMESTAMP(CURRENT_TIMESTAMP()) WHERE id=order_id;
COMMIT;
ELSE
SIGNAL SQLSTATE '45000'
SET MESSAGE_TEXT = 'Error: Customer ID in orders does not match with given buyer_user_id', MYSQL_ERRNO = 1003;
ROLLBACK;
END IF;
END;;
DELIMITER ;
2 行目の ERROR 1064 (42000): SQL 構文にエラーがあります。' SET autocommit=0; の近くで使用する正しい構文については、MySQL サーバーのバージョンに対応するマニュアルを確認してください。取引を開始します。行 3 で SELECT customer_user_id INTO '
こんにちはfrds、それを修正する方法