2016-09-02 3 views
1

毎日00 HRSで毎日実行されるイベントを作成しようとしています。私はどのような構文エラーが発生したのか分かりません。 マイコード:MySQLクエリ構文エラー。毎日イベントを作成しようとしましたが、単純なクエリで構文エラーが発生しました

delimiter | 

CREATE EVENT IF NOT EXISTS schedule_updation 
ON SCHEDULE EVERY 1 DAY 
STARTS CURRENT_DATE() 
DO 
    ALTER TABLE `bookings` DROP COLUMN `Date1`; 
    ALTER TABLE `bookings` CHANGE `Date2` `Date1` TEXT CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL; 
    ALTER TABLE `bookings` CHANGE `Date3` `Date2` TEXT CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL; 
    ALTER TABLE `bookings` CHANGE `Date4` `Date3` TEXT CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL; 
    ALTER TABLE `bookings` CHANGE `Date5` `Date4` TEXT CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL; 
    ALTER TABLE `bookings` CHANGE `Date6` `Date5` TEXT CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL; 
    ALTER TABLE `bookings` ADD `Date6` TEXT after `Date5`; 

    delimiter ; 

エラー:

#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 'ALTER TABLE `bookings` CHANGE `Date2` `Date1` TEXT CHARACTER SET latin1 COLLATE ' at line 6 

データベースのバージョン:

  • サーバー:ローカルデータベース(TCP/IP経由で127.0.0.1)
  • サーバーの種類:MySQLの
  • サーバのバージョン:5.7.11 - MySQL Community Server(GPL)
  • プロトコルバージョン:10

答えて

0

列がNOT NULL UNIQUEと宣言されていないが、問題はないはずです。

ALTER TABLE `bookings` CHANGE `Date2` `Date1` TEXT CHARACTER SET latin1 COLLATE latin1_swedish_ci DEFAULT NULL; 

または

迅速な応答マークBのための
ALTER TABLE `bookings` CHANGE `Date2` `Date1` TEXT CHARACTER SET latin1 COLLATE latin1_swedish_ci null default null; 
+0

あなたは頭の上に釘を打つ、ありがとう。しかし、Date2をDate1に変更しようとすると、重複した列エラーが表示されています。今はそれぞれのクエリに対して異なるイベントを作成しました。しかしもう一度ありがとう。 – MihirK98

0

イベントDOは、その本体としてシングル「文」を持つことができます。複数のステートメントが必要な場合は、BEGIN/ENDブロックが必要です。

CREATE... 
DO single_statement; 

または

CREATE ... 
DO BEGIN 
    statement1; 
    statement2; 
    ... 
END 
+0

感謝をしてみてください、私はそれ以外のEND「(近端)認識できない文のタイプ」を言って、赤のクロスを使用した場合には、エラーが発生します。しかし、何のエラーも始まりません。 – MihirK98

+0

ええ、申し訳ありませんが、区切り文字を変更したので、 'END |'にする必要があります。 –

+0

まだエラーが発生していますが、私のイベント全体には欠陥がありますので、心配しないでください。しかし、助けてくれてありがとう。 :) – MihirK98

関連する問題