MySQL查询语法错误。尝试创建每日事件,但在简单查询上出现语法错误

MySQL查询语法错误。尝试创建每日事件,但在简单查询上出现语法错误,mysql,Mysql,我正在尝试创建一个每天00小时都会执行的活动,直到永远。我搞不清楚我犯了什么语法错误。 我的代码: 错误: #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 CH

我正在尝试创建一个每天00小时都会执行的活动,直到永远。我搞不清楚我犯了什么语法错误。 我的代码:

错误:

#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
数据库版本:

  • 服务器:本地数据库(127.0.0.1通过TCP/IP)
  • 服务器类型:MySQL
  • 服务器版本:5.7.11-MySQL社区服务器(GPL)
  • 协议版本:10

事件
DO
只能有一个“语句”作为其主体。如果需要多个语句,则需要一个
开始
/
结束

CREATE...
DO single_statement;


事件
DO
只能有一个“语句”作为其主体。如果需要多个语句,则需要一个
开始
/
结束

CREATE...
DO single_statement;


虽然列没有声明为NOTNULL UNIQUE,但应该没有问题。 试一试


虽然列没有声明为NOTNULL UNIQUE,但应该没有问题。 试一试


感谢您的快速回复Marc B,但当我使用结尾表示“Unrecognized statement type(Near END)”,并在其旁边加上一个红十字时,它给出了一个错误。但是begin没有错误。是的,很抱歉,应该是
END |
,因为您更改了分隔符。仍然会收到错误,但我的整个事件都有缺陷,所以没关系。不过谢谢你的帮助。:)感谢您的快速回复Marc B,但当我使用结尾表示“Unrecognized statement type(Near END)”,并在其旁边加上一个红十字时,它给出了一个错误。但是begin没有错误。是的,很抱歉,应该是
END |
,因为您更改了分隔符。仍然会收到错误,但我的整个事件都有缺陷,所以没关系。不过谢谢你的帮助。:)你一针见血,非常感谢。但当我尝试将Date2更改为Date1时,它给了我一个重复的列错误,现在我只是为每个查询创建了不同的事件。再次感谢。你说得对极了,非常感谢。但当我尝试将Date2更改为Date1时,它给了我一个重复的列错误,现在我只是为每个查询创建了不同的事件。不过再次谢谢你。
CREATE ...
DO BEGIN
    statement1;
    statement2;
    ...
END
ALTER TABLE `bookings` CHANGE `Date2` `Date1` TEXT CHARACTER SET latin1 COLLATE latin1_swedish_ci DEFAULT NULL;
ALTER TABLE `bookings` CHANGE `Date2` `Date1` TEXT CHARACTER SET latin1 COLLATE latin1_swedish_ci null default null;