phpMyAdmin がストアド プロシージャ
を追加します
ストアド プロシージャ:
?
CREATE PROCEDURE `ClearCoupon`() BEGIN declare today int(16); select UNIX_TIMESTAMP(curdate()) into today; UPDATE coupon SET status=0 WHERE endtime<today end> <p>?</p> <p>?phpmyadmin でコピーして実行すると、エラーが報告されます</p> <p><span style="font-size: 13px; background-color: #f5f5f5;"> <div class="error" style="background-color: #ffffcc; color: #ff0000; margin-top: 0.3em; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0.1em; padding-right: 0.1em; padding-bottom: 0.1em; padding-left: 36px; background-position: 10px 50%; border: 2px solid #ff0000;"> <h1 style="font-size: 18px; font-weight: bold; border-bottom-width: 2px; border-bottom-style: solid; text-align: left; margin-top: 0px; margin-right: 0px; margin-bottom: 0.2em; margin-left: 0px; border-color: #ff0000;">エラー</h1> <p><strong>SQL クエリ:</strong></p> <p><span class="syntax" style="font-size: 12px;"><span class="syntax_alpha syntax_alpha_reservedWord" style="color: #990099; font-weight: bold;">作成</span>?<span class="syntax_alpha syntax_alpha_reservedWord" style="color: #990099; font-weight: bold;">手順</span>?<span class="syntax_quote syntax_quote_backtick" style="color: #008000; white-space: pre;">`ClearCoupon`</span>?<span class="syntax_punct syntax_punct_bracket_open_round" style="color: fuchsia;">(</span>?<span class="syntax_punct syntax_punct_bracket_close_round" style="color: fuchsia;">)</span>?<span class="syntax_alpha syntax_alpha_reservedWord" style="color: #990099; font-weight: bold;">BEGIN</span>?<span class="syntax_alpha syntax_alpha_identifier" style="color: black;">宣言</span>?<span class="syntax_alpha syntax_alpha_identifier" style="color: black;">今日</span>?<span class="syntax_alpha syntax_alpha_columnType" style="color: #ff9900;">INT</span><span class="syntax_punct syntax_punct_bracket_open_round" style="color: fuchsia;">(</span>?<span class="syntax_digit syntax_digit_integer" style="color: teal;">16</span>?<span class="syntax_punct syntax_punct_bracket_close_round" style="color: fuchsia;">)</span>?<span class="syntax_punct syntax_punct_queryend" style="color: fuchsia;">;</span><br><br></span></p> <p><strong>MySQL は次を返します: </strong><img style="max-width:90%" src="http://www.daimami.com/img/2014/01/01/2133452901.png" alt="phpMyAdmin はストアド プロシージャを追加します" title="phpMyAdmin はストアド プロシージャを追加します" class="icon" style="vertical-align: middle; border-color: initial; margin-right: 0.3em; margin-left: 0.3em;" style="max-width:90%"></p> <code >#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 3?</code><br> <p><br></p> <p>解決策:</p> <p>ストアド プロシージャの構文は正しいです。問題はステートメント区切り文字「;」です。</p> <p>phpmyadmin の SQL 入力ボックスの下にある「ステートメント区切り文字」を「//」に変更するだけでOKです</p> <p><br><img src="http://www.daimami.com/img/2014/01/01/2133452902.png" alt=""></p> <p>?</p> <div class="clear"></div> </div></span></p></today>