2012-04-22 11 views
0

私はこのルーチンをdevで動作させていますが、私はそれをプロダクションにコピーしていましたが、アップデート行で「近くに構文をチェックしてください...」というエラーが出ます。制限句。シンタックスエラー、制限句付き

私は、これはのDev。コピーで作業し、DEF構造を貼り付けたので、私はそれは同じだ知っている、と言うのが好きです。

DELIMITER ;; 
CREATE DEFINER=`user`@`%` PROCEDURE `SQS_Get_Messages`(IN queue_requested INT, IN queue_limit INT) 
    SQL SECURITY INVOKER 
BEGIN 
    DECLARE my_uuid INT; 
    DECLARE fake INT; 
    DECLARE now DATETIME; 

    SELECT Get_Lock('message_get',10) INTO fake; 

    SELECT NOW() INTO now; 
    SELECT UNIX_TIMESTAMP()+mod(UUID_SHORT(),1000) INTO my_uuid; 

    UPDATE sqs SET `status`= my_uuid, `started_timestamp` = now WHERE `status` = 0 and `queue` = queue_requested LIMIT queue_limit; 

    SELECT RELEASE_LOCK('message_get') INTO fake; 
    SELECT `id`,`body`,`status` from sqs WHERE `status` = my_uuid; 

END;; 
DELIMITER ; 

答えて

1

それがDEVに動作しますが、コピー&ペーストで失敗した場合プロダクションに、あなたのdevサーバとプロダクションサーバのバージョンが一致していないか、コピー&ペーストできませんでした。他の説明は表示されません。

+0

10-4。探してくれてありがとう。 –

0

それはそれだった、新しいデータベースは少し古いバージョンのMySQLを実行しています。ありがとうKen。 (あなたに適切な報酬を与えるにはポイントが不十分ですが、あなたには感謝しています:-))

+0

ありがとうございます。私は上向きに投票しようとしましたが、「ポイント」はありません。 –

関連する問題