Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 创建触发器时出现错误1064_Mysql_Triggers_Phpmyadmin - Fatal编程技术网

Mysql 创建触发器时出现错误1064

Mysql 创建触发器时出现错误1064,mysql,triggers,phpmyadmin,Mysql,Triggers,Phpmyadmin,我使用的是MYSQL 5.6和phpMyAdmin 4.1.14 我试图创建一个触发器,将数据从一个db复制到另一个db,但出现以下错误: #1064-您的SQL语法有错误;检查与MySQL服务器版本相对应的手册,以了解第7行“new.framework\u id,new.user\u id,new.icao24,new.created\u at,new.timestamp,new.althip”附近使用的正确语法 任何指点都将不胜感激 我的代码是: CREATE TRIGGER airfiel

我使用的是MYSQL 5.6和phpMyAdmin 4.1.14

我试图创建一个触发器,将数据从一个db复制到另一个db,但出现以下错误:

#1064-您的SQL语法有错误;检查与MySQL服务器版本相对应的手册,以了解第7行“new.framework\u id,new.user\u id,new.icao24,new.created\u at,new.timestamp,new.althip”附近使用的正确语法

任何指点都将不胜感激

我的代码是:

CREATE TRIGGER airfields_insert 
BEFORE INSERT 
ON realtime 
FOR EACH ROW
BEGIN
if (new.squawk between 6160 and 6167 or new.squawk between 6171 and 6177) and new.altitude <= 4000 then 
insert into airfields (airplane_id,user_id,icao24,created_at,timestamp,altitude,flight_number,latitude,longitude,heading,squawk,horizontal_speed,vertical_speed,Interested) (new.airplane_id,new.user_id,new.icao24,new.created_at,new.timestamp,new.altitude,new.flight_number,new.latitude,new.longitude,new.heading,new.squawk,new.horizontal_speed,new.vertical_speed,new.Interested);
end if;
创建触发机场\u插入
插入前
论实时
每行
开始

如果(new.squawk介于6160和6167之间或new.squawk介于6171和6177之间)和new.altitude您在
INSERT
语句中缺少
关键字

您当前的
插入
查询

insert into airfields (airplane_id,user_id,icao24,.......) 
(new.airplane_id,new.user_id,new.icao24,........);
end if;
应该是

insert into airfields (airplane_id,user_id,icao24,.......) 
values (new.airplane_id,new.user_id,new.icao24,........);
end if;

另外,如果在insert查询中出现语法错误,则在
END之后缺少
END
关键字

insert into airfields (airplane_id,user_id,icao24,.......) 
values (new.airplane_id,new.user_id,new.icao24,........);
或者干脆

 insert into airfields values (new.airplane_id,new.user_id,new.icao24,........);

表单没有指定插入数据的列名,只指定它们的值:

除了
关键字之外,您还缺少
结束
,您的答案非常需要分隔符。不幸的是,这不是我想要的。一旦生效,触发器将停止进入原始表的任何其他内容(实时)。我想我必须重新考虑整件事。也许触发因素不是我想要实现的目标所需要的。